Как использовать rsyn c с командами find и s sh для получения списка указанных файлов c - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу перенести в последний день только zip-файлы с удаленного сервера на локальный сервер (оба linux, но у меня нет прав на установку каких-либо пакетов).

Я уже прочитал эта топи c и эта , но я не могу объединить команды find и rsyn c, чтобы она работала.

Все в порядке с сохранением файлов список в файл:

$ ssh user@host find '*.zip' -mtime '-1' > list_files_to_rsync
$ cat list_files_to_rsync
2019-04-08-AJ070.zip
2020-02-05-AJ071.zip

Если я пытаюсь получить все почтовые индексы с пульта, это работает хорошо:

$ rsync --verbose --human-readable --ignore-existing --rsh="ssh -i $HOME/.ssh/id_rsa" user@host:"*.zip" ./
$ ls
2019-04-08-AJ070.zip  2020-02-05-AJ071.zip

Но если я пытаюсь объединить это:

$ rsync --verbose --human-readable --ignore-existing --files-from=list_files_to_rsync --rsh="ssh -i $HOME/.ssh/id_rsa" user@host:"*.zip" ./
rsync error: syntax or usage error (code 1) at options.c(2308) [server=3.1.1]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]

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

Та же проблема, если я попробую решение канала:

$ ssh user@host 'find *.zip -mtime -1 -printf %P\\0' | rsync --verbose --human-readable --ignore-existing --files-from=- --from0 --rsh="ssh -i $HOME/.ssh/id_rsa" user@host:"*.zip" ./
rsync error: syntax or usage error (code 1) at options.c(2308) [client=3.1.1]

Спасибо за любую помощь.

...