fre*_*rik 15
rsync --progress --files-from=<(find /src_path -mtime -3 -type f -exec basename {} \;) /src_path/ /dst_path
Run Code Online (Sandbox Code Playgroud)
你会想做一个findthensync
find /path -file -mtime +3 -exec rsync {} destination \;
Run Code Online (Sandbox Code Playgroud)
修改Thomas 的答案,该答案根据文件的修改日期同步到脚本,使其更易于阅读并同步嵌套文件夹。
#!/bin/bash
TARGET=/PATH/TO/TARGET
HOST=username@host
SOURCE=/ABSOLUTE/SOURCE/PATH/ON/HOST
touch $TARGET/last_sync
rsync \
-ahrv \
--update \
--files-from=<(ssh $HOST "find $SOURCE -type f -newer $SOURCE/last_sync -exec realpath --relative-to=$SOURCE '{}' \;") \
$HOST:$SOURCE \
$TARGET
rsync -ahv $TARGET/last_sync $HOST:$SOURCE
Run Code Online (Sandbox Code Playgroud)
对于 init 来说,可能应该last_sync远程创建一个文件,下面的命令会派上用场
touch -d "2 hours ago" last_sync
Run Code Online (Sandbox Code Playgroud)
last_sync它创建一个名为2 小时前的创建日期的文件。
| 归档时间: |
|
| 查看次数: |
50705 次 |
| 最近记录: |