rsync

そろそろバックアップを取らなくてはと考え、以前はローカルネットワークの別のマシンにバックアップしていたんだが、USBメモリが空いているのでわざわざ別のマシンにバックアップを取らなくても良いと思ったが

Backup with rsync or ddで見かけたrsyncのバックアップスクリプトを使ってバックアップをするのだが何回やってもexclude出来ていないようで

mnt/mnt/mnt/mnt/mnt/mnt/lost+found/
mnt/mnt/mnt/mnt/mnt/mnt/media/
mnt/mnt/mnt/mnt/mnt/mnt/mnt/
mnt/mnt/mnt/mnt/mnt/mnt/mnt/etc/
mnt/mnt/mnt/mnt/mnt/mnt/mnt/etc/resolv.conf

 /mntが入れ子になってrsyncがリソースを食いつぶして

rsync: write failed on "/mnt/mnt/mnt/mnt/mnt/mnt/mnt/mnt/home/yui/Maildir/.Maildir.Drafts/dovecot.index.cache": No space left on device (28)
/usr/bin/rsync -ahHAXvP --delete --bwlimit=2048 --rsync-path="ionice -c2 -n7 nice -n19 rsync" --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /mnt

 これでは--excludeが効かないのでスクリプトを改変して

#!/bin/sh
#
# backup script
#
# rsync
RSYNC='/usr/bin/rsync -ahHAXvP'
#
#
### End configuration section ###

echo 'Backuping...'
$RSYNC --delete --exclude='dev' --exclude='proc' --exclude='tmp' --exclude='sys' --exclude='run' --exclude='mnt' --exclude='media' --exclude='lost+found' --partial --bwlimit=2048 --rsync-path='ionice -c2 -n7 nice -n19 rsync' / /mnt
#EOF

あとはcrontabに任せて、しかしionice niceを組み合わせてもrsyncはベストエフォートでロードアベレージが上がる :(