Você pode simular seu comando como
rsync -vrzO --delete -e ssh <remote_host>:'<remote_dir>/file1 <remote_dir>/file2' <destination_dir>/
, ou seja, substituindo a saída de cd <remote_dir> && ls -t $PWD/* | head -n 2
.
O --delete
de rsync funciona em diretórios e sua substituição de comandos está fornecendo uma lista de arquivos. Portanto, --delete
não está funcionando.
Trecho de man rsync
:
--delete
This tells rsync to delete extraneous files from the receiving side (ones that aren’t on the sending side), but only for the directories that are being synchronized. You must have asked rsync to send the whole directory (e.g. "dir" or "dir/") without using a wildcard for the directory’s contents (e.g. "dir/*") since the wildcard is expanded by the shell and rsync thus gets a request to transfer individual files, not the files’ parent directory.