$ rsync -av --progress <source> <destination>
Local 로부터 local로의 sync가 아니라면 -z 옵션을 주는 것도 좋다. destination에서 source에 없는 파일은 지우고 싶다면 –delete 옵션을 준다. -h 옵션은 human readable하게 한다. –progress는 progress를 보여준다.
crontab으로 등록
# crontab -e
0 3 * * * rsync -avh --delete /mnt/NAS /media/dasomoli/Elements
나는 이렇게 한다.
#!/bin/bash
if [[ -b /dev/sda1 && -b /dev/sdb1 && -d /media/dasomoli/Elements && -d /mnt/NAS ]] \
&& ! [[ -e /media/dasomoli/Elements1 ]]; then
rsync -avh --delete /mnt/NAS /media/dasomoli/Elements >> /var/log/rsync/backup_exthdd.log;
else
echo "`date`: Error: HDDs have not mounted" >> /var/log/rsync/backup_exthdd.err;
mount >> /var/log/rsync/backup_exthdd.err;
fi
그리고 logrotate 설정을 해둔다.
# vi /etc/logrotate.d/backup_exthdd
/var/log/rsync/backup_exthdd.log /var/log/rsync/backup_exthdd.err {
weekly
missingok
rotate 5
compress
notifempty
}