параметры rsync для создания, удаления, но не ОБНОВЛЕНИЯ файлов

#backup #rsync

Вопрос:

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

Это связано с безопасностью, мы добавляем новые файлы в эти папки и время от времени удаляем некоторые из них, но НИКОГДА не меняем содержимое существующих файлов. Мы хотели бы сохранить его таким, каким он был создан.

Это моя текущая команда rsync (часть сценария bash)

 rsync -a --delete /srv/backup/ xxx@xxxx:~/backups/
 

Я видел опцию —игнорировать существующую, но это отключает опцию —удалить

Ответ №1:

Взлеты, неважно. Rsync-это фантастический инструмент!

Вы можете комбинировать как —игнорировать существующие, так и —удалять, чтобы достичь именно того, о чем я прошу: добавлять новые файлы, удалять больше не существующие, но не обновлять.

 $mkdir folder1 folder2
$touch folder1/sample1 folder1/sample2
$rsync -a --ignore-existing --delete folder1/ folder2/
$ls folder2/
sample1  sample2
$echo "this is an update" > folder1/sample2
$cat folder1/sample2 
this is an update
$rm folder1/sample1
$touch folder1/sample3
$rsync -a --ignore-existing --delete folder1/ folder2/
$ls folder2
sample2  sample3 -- (sample1 deleted)
$cat folder2/sample2 
(empty sample2 has not been updated)