User Tools

Site Tools


пакет_rsync

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
пакет_rsync [2019/03/22 14:48]
val
пакет_rsync [2024/04/30 16:17]
val [Инкрементное копирование (Incremental Backup)]
Line 20: Line 20:
 ==== Debian/​Ubuntu/​FreeBSD/​MacOSX ==== ==== Debian/​Ubuntu/​FreeBSD/​MacOSX ====
 <​code>​ <​code>​
-server# time cp -rvp /var/ /disk2/var/+server# mkdir /​disk2/​var/​ 
 + 
 +server# time cp -rvp /var/log/ /disk2/var/log/
   или   или
-server# time rsync -av --delete ​/var/ /disk2/var/+server# time rsync -av --del /var/log/ /disk2/var/log/
  
-node1# rsync -avz --delete ​/home/ node2:/​home/​+node1# rsync -avz --del /home/ node2:/​home/​
  
-val# /​usr/​bin/​rsync -av --delete ​-e "ssh -p XXX" /​var/​www/​html/​dokuwiki/​ val@radio.specialist.ru:​dokuwiki.mastercopy/​+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/​
 </​code>​ </​code>​
  
 +  * [[Команда dd#​Клонирование диска по сети]]
 +
 +<​code>​
 +clone# mount /dev/sda1 /mnt
 +source# rsync -avzR --sparse --del /opt/ /var/ /srv/ 192.168.13.229:/​mnt/​
 +</​code>​
 +
 +==== Инкрементное копирование (Incremental Backup) ====
 +
 +  * [[https://​linuxconfig.org/​how-to-create-incremental-backups-using-rsync-on-linux|How to create incremental backups using rsync on Linux]]
 +  * [[https://​habr.com/​ru/​post/​149059/​|Делаем свою Time Machine для Линукса]]
 +
 +<​code>​
 +Делаем первый бекап (например,​ на внешний диск или раздел,​ смонтированный по 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 -p $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/​
 +</​code>​
 ===== Использование rsync сервера ===== ===== Использование rsync сервера =====
  
пакет_rsync.txt · Last modified: 2024/05/14 16:44 by val