Резервный диск монтируем как /backup в read-only режиме.
По крону еженощно запускаем скрипт следующего содержания:
/sbin/mount -u -w /backup # пепреводим раздел в rw режим, mount "-o remount,rw /backup" для Linux
/usr/bin/rsync -a --delete --delete-excluded --max-delete=200 \
--exclude-from=/etc/ex_files_list.txt / /backup
RETCODE=$?
if [ $RETCODE -ne 0 ]; then
echo "Err code=$RETCODE"| mail -s "RSYNC BACKUP ERROR" alert@test.ru
fi
/sbin/mount -u -r /backup # раздел обратно в ro, mount "-o remount,ro /backup" для LinuxЕсли backup-диск большой, лучше вести две полные копии, на случай краха во время бэкапа (или см. опцию --backup);
При бэкапе на другой сревер:
rsync [...опции как выше] --compress --bwlimit=100 --timeout=120 \
-e ssh source/ login@backuphost:/backup/node1Список файлов для исключения из бэкапа (ex_files_list.txt):
/backup
/mnt
/proc
/tmp
/var/log
/usr/obj
/usr/src
/usr/tmp
/usr/ports
/usr/local/apache/logs
URL: https://www.opennet.ru/guide.shtml#backup
Обсуждается: https://www.opennet.ru/tips/info/687.shtml
Толково написано, радуют alert@test.ru login@backuphost:/backup/node1, но хотелось бы еще объяснения по каждому параметру - не для тупых, просто было бы приятно.
--exclude-from=/etc/ex_files_list.txt не работает.
Составил список папок, не подлежащих синхронизации, один фиг, они копируются. :(
я делаю так:
rsync --delete --delete-during --delete-excluded --archive --hard-links --quiet -P --exclude-from="${EXCLUDEFILE}" ${SOURCE}/ ${TARGET}/
exclude исполняется как надо и во время синхронизации, т.е. без лишних движений