https://github.com/KuzinAndrey/
$ dd if=/dev/urandom count=1 status=none | base64 | tr "+/=" "123"
sabPVI7u2ONZC4fpZDT06fICe2X4KEjdmNbSF1kqakOrmPLY2TWjh7C1KuuZ9PfLxFZuAoccxlyO DcPy05LVhrAhB6SfeOfMO73gWc0AVJEF2bPew51PMQvMI9o7yRCmjx1UV1TFQ64N56VhM2bQDHei H9GghLY5EVjdlPfTjQEyP5t0j3AwhtKk8V0efxSqgSpcy1PLSlgM223DzAEo5tSLqejz1MR5uxiK JsPIM19OgFbgpi1fY2o4PfLxKGWve3R9SNLWrzH0jVdN9buS4FjkIKB7y88M2z8P02BZ9wyFUxiB MjccUrJB821e96eYB2B2f3bwo1dgQVrhCRpB22atqPfpmvgqTG82vS1rAQKkW7jDyLbbnrmq5l23 v6LgJhsBcEjm0bXPq25lA3tgxgNBFqc72RXeNeO8zsSKBrCJ25JDLezT1Xj8AsciU14CvtS83qc4 g1kiwQBCAytbwNiZHrWFWtHdlLyYa1lpqCO1b6O16jMQE023733NMdv0614lF56QCjVMhRj7iE0G 2nBXWOziuLFSA8gFeRP2LdXwPWfOoInO8gOLBOq6lj1GN4Oz8hq2f6CFobUmP6Ik2HsR4QFEOQly cYwSFhmVtxYNSq0RhSshIf9vXYpU1SYuRs8nyH3Yu8YgJhPYw1o8FqBm26X5RWnCq4q1Z1eDn2Q3
$ for I in `seq 1 5`; do cat /proc/sys/kernel/random/uuid; done
5978a4b8-cb2a-4fff-aff2-a9f20fb51c25 572f4e36-1733-4e39-a288-f8b7dae34193 1d3a86e7-2475-47bc-9498-4c8202a96df4 a190c36d-3e1c-4417-96a5-87370bcf8e9a 8b20daec-6367-4671-9c75-5c279ff14ae8
map $remote_addr $disable_local_ip_log { "192.168.0.24" 0; "192.168.5.3" 0; default 1; } log_format main '$remote_addr - $server_name:$server_port - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main if=$disable_local_ip_log;
( cat > /etc/yum.repos.d/nginx.repo ) << \EOF [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/rhel/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true EOF
#!/bin/sh IPT="/bin/iptables" [ ! -x $IPT ] && IPT="/usr/bin/iptables" [ ! -x $IPT ] && IPT="/sbin/iptables" [ ! -x $IPT ] && IPT="/usr/sbin/iptables" [ ! -x $IPT ] && echo "ERROR iptables not found" && exit 2 #IPT="echo $IPT" # <- uncomment this for debug echo IP_LIST=" 192.168.3.34 10.168.1.24 127.0.0.1 " PORT_LIST=" 22 3306 5900:5950 " firewall_start() { $IPT -N ADMIN for IP in $IP_LIST ; do $IPT -A ADMIN -s $IP -j ACCEPT done # $IPT -A ADMIN --p tcp --syn -j LOG --log-level error --log-prefix="Admin connect attempt: " $IPT -A ADMIN -j REJECT for PORT in $PORT_LIST ; do $IPT -I INPUT -p tcp --dport $PORT -j ADMIN done } firewall_stop() { for PORT in $PORT_LIST ; do $IPT -D INPUT -p tcp --dport $PORT -j ADMIN done $IPT -F ADMIN && $IPT -X ADMIN } case "$1" in 'start') firewall_start ;; 'stop') firewall_stop ;; 'restart') firewall_stop && firewall_start ;; *) echo "Usage: $0 start|stop|restart" esac
#!/bin/sh DATE=`date +%FT%T` MYSQL_MASTER_HOST="10.10.10.1" MYSQL_MASTER_USER="dumper" MYSQL_MASTER_PASS="123456" mysqldump --host=$MYSQL_MASTER_HOST --user=$MYSQL_MASTER_USER --password=$MYSQL_MASTER_PASS \ --verbose --single-transaction --gtid --master-data \ --all-databases > mysql-$DATE.sql mysql -e "stop slave" mysql < mysql-$DATE.sql mysql -e "start slave" mysql -e "set global read_only='ON'"
Run server with options: /usr/sbin/mysqld --skip-grant-tables --skip-networking MariaDB: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; or UPDATE mysql.user SET authentication_string = '' WHERE user = 'root'; UPDATE mysql.user SET plugin = '' WHERE user = 'root'; MySQL: ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password';
#!/bin/sh DB="db1" USER="user1" PASS="123456" ALLOW_HOST="localhost" ## allow for all #ALLOW_HOST="%" ## allow with mask #ALLOW_HOST="192.168.16.%" #ALLOW_HOST="192.168.16.0/255.255.255.0" #ALLOW_HOST="%.domain.net" ACTION="create" #ACTION="drop" if [ "$ACTION" = "create" ]; then mysql << EOF CREATE DATABASE $DB; CREATE USER '$USER'@'$ALLOW_HOST' IDENTIFIED BY '$PASS'; GRANT SELECT -- read ,INSERT,UPDATE,DELETE -- write -- ,CREATE,DROP,ALTER,INDEX -- create/drop table/index -- ,CREATE TEMPORARY TABLES,LOCK TABLES -- addon -- ,REPLICATION SLAVE, REPLICATION CLIENT -- replication ON $DB.* TO '$USER'@'$ALLOW_HOST'; FLUSH PRIVILEGES; EOF elif [ "$ACTION" = "drop" ]; then mysql << EOF REVOKE ALL PRIVILEGES ON $DB.* FROM '$USER'@'$ALLOW_HOST'; FLUSH PRIVILEGES; DROP DATABASE $DB; EOF fi
# mysql -e "show slave status\G" | grep -E "(Behind|SQL|IO|Gtid)" MariaDB 10.6.8: =============== Slave_IO_State: Waiting for master to send event Slave_IO_Running: Yes Slave_SQL_Running: Yes Seconds_Behind_Master: 0 Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Using_Gtid: Slave_Pos Gtid_IO_Pos: 0-6-69603391 SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates MySQL 5.7.31: ============== Slave_IO_State: Waiting for master to send event Slave_IO_Running: Yes Slave_SQL_Running: Yes Seconds_Behind_Master: 0 Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Retrieved_Gtid_Set: 971b429d-d0ac-11ea-a304-005056011c90:1-7 Executed_Gtid_Set: 227d4927-ca70-11ea-a635-005056013673:1-948213,
#!/bin/sh DB="dbname" TABLES=`mysql -B -N -e " \ select \ concat(table_schema,'.',table_name) \ from \ information_schema.tables \ where \ table_schema='$DB' and engine='MyISAM'"` for T in $TABLES; do printf "Table $T" mysql -e "alter table $T engine=InnoDB" if [ $? == 0 ]; then echo ": OK" else echo ": Fail" && exit fi done
SELECT ENGINE, count(*) as num_of_tables, concat(round(sum(TABLE_ROWS)/1000000,2),'M') as total_rows, concat(round(sum(DATA_LENGTH)/(1024*1024*1024),2),'G') as data_size, concat(round(sum(INDEX_LENGTH)/(1024*1024*1024),2),'G') as index_size, concat(round(sum(DATA_LENGTH+INDEX_LENGTH)/(1024*1024*1024),2),'G') as total_size, round(sum(INDEX_LENGTH)/sum(DATA_LENGTH),2) as idx_to_data_fraction FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql','performance_schema','information_schema') GROUP BY ENGINE ORDER BY sum(DATA_LENGTH+INDEX_LENGTH) DESC LIMIT 10; +--------+---------------+------------+-----------+------------+------------+----------------------+ | ENGINE | num_of_tables | total_rows | data_size | index_size | total_size | idx_to_data_fraction | +--------+---------------+------------+-----------+------------+------------+----------------------+ | InnoDB | 100 | 4.45M | 1.77G | 0.19G | 1.96G | 0.11 | | MEMORY | 34 | 0.00M | 0.00G | 0.00G | 0.00G | 0.42 | +--------+---------------+------------+-----------+------------+------------+----------------------+ 2 rows in set (0.002 sec)
CLEANDIR=" /var/lib/mysql /var/www /root /etc " for D in $CLEANDIR; do find $D -type f -print -exec shred -u {} \; done # For RAID dd if=/dev/zero of=/dev/md0& pid=$!; while [ 1 ]; do sleep 10; kill -USR1 $pid; done # For single HDD dd if=/dev/zero of=/dev/sda& pid=$!; while [ 1 ]; do sleep 10; kill -USR1 $pid; done dd if=/dev/zero of=/dev/sda bs=1M status=progress
echo "http://en.wikipedia.org/wiki/GUID_Partition_Table - GPT stores in the first and last 34 LBA blocks. 1 LBA = 512 bytes." dd if=/dev/zero of=/dev/mmcblk0 bs=1k count=17 dd if=/dev/zero of=/dev/mmcblk0 bs=1k count=17 seek=$(awk '/mmcblk0$/{print $3 - 17}' /proc/partitions)
tcpdump -i eth0 port 67 or port 68 -e -n -vv
#!/bin/bash DT=$(date +%s) TIMERETENTION=$((7*24*60*60)) DELDT=$(($DT - $TIMERETENTION)) date echo "$DT - $TIMERETENTION = $DELDT" DBLIST=$(sudo -Hiu postgres psql -d zabbix -Atc "select hypertable_name from timescaledb_information.hypertables;") for DB in $DBLIST ; do sudo -Hiu postgres psql -d zabbix -Atc "select drop_chunks('$DB', $DELDT);" done sudo -Hiu postgres psql -d zabbix -Atc "vacuum;"
ZONE="example.com" pdnsutil create-zone $ZONE pdnsutil set-meta $ZONE NOTIFY-DNSUPDATE 1 pdnsutil set-meta $ZONE SOA-EDIT-DNSUPDATE INCREASE pdnsutil set-meta $ZONE SOA-EDIT-API INCREASE pdnsutil add-record $ZONE @ NS ns1.$ZONE pdnsutil add-record $ZONE @ NS ns2.$ZONE pdnsutil add-record $ZONE ns1 A XXX.XXX.XXX.XXX pdnsutil add-record $ZONE ns2 A YYY.YYY.YYY.YYY pdnsutil add-record $ZONE www A ZZZ.ZZZ.ZZZ.ZZZ
ZONE="example.com" pdnsutil delete-zone $ZONE
sed -i 's/v3.13/v3.14/' /etc/apk/repositories apk update && apk add --upgrade apk-tools && apk upgrade --available && sync && reboot
sed -i 's/<[\-]\{4,6\}>/\t/g' filename.txt
(cat > /etc/docker/daemon.json) << EOF {"registry-mirrors": ["https://mirror.gcr.io"]} EOF systemctl restart docker.service # https://mirror.gcr.io - зеркало Google # https://dockerhub.timeweb.cloud - зеркало Timeweb # https://dockerhub1.beget.com - зеркало Бегет # https://c.163.com - зеркало Китай # https://registry.docker-cn.com - зеркало Китай # https://daocloud.io - зеркало Китай # https://cr.yandex/mirror - зеркало Яндекс # https://noohub.ru - зеркало noosoft # https://quay.io - зеркало Redhat # https://registry.access.redhat.com - зеркало Redhat # https://registry.redhat.io - зеркало Redhat # https://public.ecr.aws - зеркало Amazon
sudo usermod -aG docker
rsync -ave "ssh" --rsync-path="sudo rsync" --delete USER@REMOTE_SERVER:/remote/file/path/ /local/file/path
sudo -u [user] bash -- <<\EOF RHOST="remote.host.com" if ! ssh-keygen -F $RHOST > /dev/null; then ssh-keyscan -H $RHOST >> ~/.ssh/known_hosts fi EOF
# wireguard event debug ON echo "module wireguard +p" | sudo tee /sys/kernel/debug/dynamic_debug/control # wireguard event debug OFF echo "module wireguard -p" | sudo tee /sys/kernel/debug/dynamic_debug/control
git clone --recurse-submodules ssh://[host]:/[repo].git
git reset --soft HEAD~1
git log --all --grep='commit_message_for_search'
git grep [regexp] $(git rev-list --all)
1. Ignore one time: git -c http.sslVerify=false clone https://[host]/[repo].git or GIT_SSL_NO_VERIFY=true git clone https://[host]/[repo].git 2. Configure cloned repo to ignore SSL cert or globally for all git config http.sslVerify false or git config --global http.sslVerify false 3. Or add in .git/config ``` [http] sslVerify = false ```
git add [modified.file] && git commit --amend && git push --force
git fetch && git branch --remotes
git remote update origin --prune && git branch -a OR git fetch --all --prune --tags --prune-tags --progress
git name-rev --tags --name-only [SHA]
git format-patch -1 [SHA] --stdout > 0001.patch
git log --follow -p -- path-to-file
1. git log --follow -- [filename] 2. git rev-list HEAD --oneline [filename]
Use the git diff command to create a patch file between two Git commits. You must know both commit IDs. git diff [commitid1] [commitid2] > [patch_filename].patch You can also create a patch file based on one Git commit and the base HEAD. git diff [commitid1] > [patch_filename].patch
git clone ssh://gitlab.kuzinandrey.ru:/stuff/ebtables cd ebtables git config user.name "Andrey Kuzin" git config user.email kuzinandrey@yandex.ru git remote add upstream git://git.netfilter.org/ebtables.git git pull upstream --rebase master ... git status ... mcedit conflict-file.c ... git rebase --continue ...
mkdir -p ~/.ssh && wget -O - https://kuzinandrey.ru/authorized_keys >> ~/.ssh/authorized_keys