This is an old revision of the document!
root@nodeN:~# apt install rsync
[nodeN:~] # pkg install rsync
server# mkdir /disk2/var/ server# time cp -rvp /var/log/ /disk2/var/log/ или server# time rsync -av --del /var/log/ /disk2/var/log/ node1# rsync -avz --del /home/ node2:/home/ node1# rsync -avz --del --rsync-path="sudo rsync" /home/ student@node2:/home/ val# /usr/bin/rsync -av --del -e "ssh -p XXX" /var/www/html/dokuwiki/ val@radio.specialist.ru:dokuwiki.mastercopy/
clone# mount /dev/sda1 /mnt source# rsync -avzR --sparse --del /opt/ /var/ /srv/ 192.168.13.229:/mnt/
Делаем первый бекап (например, на внешний диск или раздел, смонтированный по NFS) # BACKUP_PATH=/mnt/Backups/www/rootfs/$(date "+%Y-%m-%d_%H-%M")/ # BACKUP_PATH=/mnt/Backups/client1/home/$(date "+%Y-%m-%d_%H-%M")/ # mkdir -pv $BACKUP_PATH # rsync -av --del /var/lib/lxc/www/rootfs/ $BACKUP_PATH # rsync -av --del /home/ $BACKUP_PATH Сохраняем линк на него # LATEST_LINK=/mnt/Backups/www/rootfs/latest # LATEST_LINK=/mnt/Backups/client1/home/latest # ln -s $BACKUP_PATH $LATEST_LINK Через некоторое время, после изменений, делаем следующий бекап с использованием линка на предыдущий # BACKUP_PATH=/mnt/Backups/www/rootfs/$(date "+%Y-%m-%d_%H-%M")/ # BACKUP_PATH=/mnt/Backups/client1/home/$(date "+%Y-%m-%d_%H-%M")/ # mkdir $BACKUP_PATH # rsync -av --del /var/lib/lxc/www/rootfs/ --link-dest $LATEST_LINK $BACKUP_PATH # rsync -av --del /home/ --link-dest $LATEST_LINK $BACKUP_PATH Направляем линк на последний бекап # rm $LATEST_LINK && ln -s $BACKUP_PATH $LATEST_LINK Смотрим количество hardlink на файлы, которые не менялись # find $LATEST_LINK/ -type f -links +1 -ls | less Восстановление из бекапа # BACKUP_PATH=/mnt/Backups/www/rootfs/<TAB> # systemctl stop lxc@www # rsync -av --del $BACKUP_PATH /var/lib/lxc/www/rootfs/ # systemctl start lxc@www
[node2:~] # service rsyncd rcvar [node2:~] # cd /usr/local/etc/
root@node2:~# cat /etc/default/rsync
... RSYNC_ENABLE=true ...
root@node2:~# systemctl enable rsync root@node2:~# cd /etc/
node2# cat rsyncd.conf
# pid file = /var/run/rsyncd.pid [home] uid = root use chroot = yes path = /home read only = no hosts allow = node1.corpX.un
ubuntu node2# service rsync start или freebsd node2# service rsyncd start node1# rsync node2:: home node1# rsync node2::home ... node1# rsync node2::home/user1/ ...
node1# rsync -av --delete /home/ node2::home