Назад | Перейти на главную страницу

Как выполнить синхронизацию файлов / папок с определенной даты вперед?

Я хотел бы выполнить синхронизацию папок с определенной даты и вперед. например. Я хочу выполнить синхронизацию моих папок, которые были созданы 3 дня назад (и, конечно, 2 дня назад, день назад и т. Д.). Я знаю, что мне нужно использовать find и rsync, но не знаю, как это сделать. любая идея? Спасибо! Дотан.

rsync --progress --files-from=<(find /src_path -mtime -3 -type f -exec basename {} \;) /src_path/ /dst_path

Вы бы хотели сделать find затем sync

find /path -file -mtime +3 -exec rsync {} destination \;

Предположим, вы хотите синхронизировать какую-то папку с сервера в локальную папку, но всегда хотите синхронизировать только файлы, которые были созданы с момента последней синхронизации. Тогда может пригодиться следующая команда. Помещая это, например, ваш .bashrc определяет псевдоним, который синхронизирует все вновь созданные файлы. Файлы можно удалить локально, и они не будут синхронизироваться снова при повторном вызове команды синхронизации. В локальную папку будут скопированы только файлы, созданные после последней синхронизации на сервере.

TARGET=/local/target/folder/
SOURCE=/server/folder/
alias sync-since-last="touch $TARGET/last_sync && rsync -ahv --update --files-from=<(ssh user@SERVER.IP 'find $SOURCE/source/ -type f -newer $SOURCE/last_sync -exec basename {} \;') user@SERVER.IP:$SOURCE/source/ $TARGET && rsync -ahv $TARGET/last_sync user@SERVER.IP:$SOURCE"