SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


howto:linux:rsync

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