Решение Perl / Bash для проверки наличия изменений в папке и создание ее копии

Я хотел бы собрать сценарий для очень рудиментарной системы резервного копирования, которая рекурсивно проверяет каталог на любые изменения с даты создания другого каталога (резервной копии), и, если он обнаруживает изменения, он создает еще одну резервную копию, которая последовательно увеличивается с предыдущая резервная копия.

Другими словами, я ищу эквивалент, если бы я мог просто спросить rsync: «Есть ли что-нибудь, что вы бы синхронизировали, если бы я запустил вас прямо сейчас?» Если бы результат был «истина» / «да», то вместо синхронизации каталога я мог бы проверить этот результат и просто скопировать весь каталог в новую папку.

Представьте себе этот псевдокод:

$directoryModDate = [command to find date of most recently modified in directory or subdirectories thereof];
$mostRecentBackupDate = [command to find date most recent backup folder was created, e.g. backup1, backup2, backup3...];

if ($directoryModDate > $mostRecentBackupDate) {
     copy "/path/to/source", $backupDestination;
     say STDOUT "New backup folder created.";
}
else {
     say STDOUT "Previous backup is current."
}

1 ответ
1

Проверить
-n, --dry-run

варианты для rsync, это может быть маршрут, чтобы создать для вас ответ.

Обратите внимание, что
$ rsync -avP source dest

вполне может полностью заменить ваш скрипт.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *