Я хочу иметь следующий цикл резервного копирования в Debian Lenny:
Monday : Full backup
Tuesday : Differential backup relative to Monday
Wednesday: Differential backup relative to Monday
Thursday : Differential backup relative to Monday
Friday : Differential backup relative to Monday
Saturday : Differential backup relative to Monday
Sunday : Differential backup relative to Monday
Сейчас использую:
tar -czf /tmp/backup/all-sites-$(date +"%F").tar.gz --exclude '*/imagecache/*' --exclude '*/logs/*' /var/www/public_html/ > /tmp/backup/logfile 2>&1
Должен ли я использовать --after-date
или --newer
вариант? Если да, то каков синтаксис этих параметров?
Примеры на страницах Google / MAN еще больше сбивают меня с толку, что просветляют.
Более простой подход к "--newer" будет следующим:
tar -cvf archive.tar -N "последний понедельник" dir_to_be_archived /
Таким образом, вам не нужно будет создавать файлы дат. Обратите внимание, что -N совпадает с --newer. Удивительно, но синтаксис времени можно найти на странице информации (man) программы "date", а не в руководстве tar.
Я бы использовал --newer. Это проверяет ctime, который будет обновляться любым действием над соответствующими файлами / каталогами. Таким образом, это будет улавливать любые изменения, даже изменения разрешений, что, вероятно, именно то, что вы хотите. Если вас ничего не интересует, кроме фактического изменения файлов / каталогов, вы можете использовать --newer-mtime. По крайней мере, в моей системе --newer и --after-date являются синонимами.
Что касается синтаксиса, вам необходимо передать строку даты в качестве аргумента флагу "--newer". Обычно я делаю это, создавая файл с датой моей последней полной резервной копии, когда я делаю полную, который содержит что-то вроде «20 марта» (т.е. "date +%d-%b"
), а затем используя этот файл для заполнения параметра при использовании --newer:
--newer `cat /path/to/datefile`