O rsync tem uma opção --list-only
, que fornece um índice dos arquivos remotos, incluindo registros de data e hora:
$ rsync --list-only $REMOTE
drwx------ 160 2018/09/04 12:55:12 .
-rw-r--r-- 1,348 2018/09/04 12:52:33 .bash_profile
-rw-r--r-- 55 2018/09/04 12:52:33 .bashrc
...
Filtrar nesta lista para selecionar apenas as datas apropriadas e, em seguida, alimentar isso no argumento --files-from
de rsync subsequente (que pode se referir a stdin, usando --files-from=-
) deve fazer o trabalho.
Por exemplo, os seguintes arquivos rsync com um mtime entre 2018-08-01 e 2018-08-07 para a máquina local (com valores apropriados de $REMOTE
e $LOCAL_PATH
; note $5
no awk comando refere-se à quinta coluna - ou seja, o nome do arquivo - da saída do rsync)
$ rsync --list-only $REMOTE | awk '/2018-08-0[1-7]/ {print $5}' | rsync --files-from=- $REMOTE $LOCAL_PATH
Isso não responde ao problema total de usar os find
' -mtime
-tipo especificadores, mas uma análise adicional da sequência de datas (por exemplo, usando date
) poderia ser feita para estender isso.