howto:linux:rsync
Obsah
Rsync
Gandalf style
export 'RSYNC_RSH=ssh -T -c aes128-gcm@openssh.com,arcfour128,arcfour,aes128-cbc,blowfish -o Compression=no -x' rsync -aAXzv --numeric-ids --exclude="/dev" --exclude="/proc" --exclude="/sys" login@host:/ . rsync -aAXHWv --numeric-ids root@192.168.1.100:/mnt/* . příkaz pro rsync pomocí klíče bez hesla : rsync -r -e "ssh -i /root/.ssh/id_rsa_migration" /var/www/clients/zelenemesto3.cz/web/* root@hostx009.spoje.net:/var/www/clients/zelenemesto3.cz/web/) zkopírování celého obsahu **vzdáleného serveru** Můra Style (od Gandalfa) * **remote** v /etc/ssh/sshd_config povolit : PermitRootLogin yes * **remote** ip a (zjistit IP adresu vdáleného serveru - 82.100.58.6) * **local** su- (stát se root rootem) * **local** cd/ (evěřit že stojím v lomítku - hlavním adresáři) * **local** rsync -aAXzv --numeric-ids --exclude="/dev" --exclude="/proc" --exclude="/sys" root@82.100.58.6:/ .
- -a archivni mod (zahrnuje -rlptgoD)
- -A preserve ACLs (implies -p)
- -X preserve extended attributes
- -H preserve hard links
- -W copy files whole (w/o delta-xfer algorithm)
- -z compress file data during the transfer
- -v increase verbosity
- -x don't cross filesystem boundaries
Lomítka
- do dst synchronizuje obsah src
- src/ dst
- src/ dst/
- v dst udela podadresar src
- src dst
- src dst/
protocol version mismatch -- is your shell clean?
zkus se pripojit ssh host /bin/true
Vyhleda pocet vyskytu IP adresy v logu
/var/log/apache/access.log |cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
Sync permissions bez obsahu souboru
Pokud se nam povedlo syncnout adresar bez setuidu nebo numeric-ids, a zjistime to se zpozdenim kdyz uz jsou data zmenena a chcem permisny dosyncnout dodatecne na upraveny produkcni data bez zmeny obsahu souboru, muzem pouzit tenhle skript:
- psync.sh
#!/bin/bash #set -x fixperms() { echo "FIXING $SUFFIX in $@ $(date)" cd "$3""$SUFFIX" IFS=$'\t' ssh "$1" -- 'find '"$2$SUFFIX"' -printf "%m\t%U:%G\t%u:%g\t%P\n"' | tail -n +2 | while read -a line; do #echo chown -h "${line[2]}" "${line[3]}" #set name ids (probably bad for migrations?) chown -h "${line[1]}" "${line[3]}" #set numeric ids test -L "${line[3]}" || chmod "${line[0]}" "${line[3]}" #set mode if not symlink done; } #SUFFIX=/home time fixperms server.example.com /vzdaleny/adresar/ /lokalni/adresar/
NTFS (ntfsclone)
NTFS se na Linuxu neda rsyncnout se zachovanim vsech atributu, je potreba pouzit ntfsclone:
ntfsclone --overwrite /dev/cil /dev/zdroj
howto/linux/rsync.txt · Poslední úprava: 2021/08/10 15:34 autor: moora