我想将文件 rsync 到我的本地 Linux 机器,但我只想要已创建或修改的文件之内过去 30 天。
我正在使用以下命令从 Linux 安装 Windows 共享:
mount -t cifs //Share/public /mnt/ntserver -o username=myuser,password='password',domain=sub.domain.com
它已正确安装并且我可以执行 ls 安装:
$ mount
//Share/public/ on /mnt/ntserver type cifs (rw,mand)
根据我的研究,rsync 似乎无法单独做到这一点,但在“find”的帮助下,这是可能的。
下面的命令仅查找 30 天前(从 -ctime 30 开始)创建或修改的文件,没有返回要 rsynced 的文件。
cd /mnt/ntserver/documentation/ && find . -type f -ctime 30 | rsync -av --max-size=5m --include '*/' --include '*.xls*' --include '*.doc*' --include '*.pl' --include '*.sh' --include '*.sql' --include '*.txt' --include '*.vsd' --exclude '*' --files-from=- /mnt/ntserver/documentation /home/dan/cifs/
building file list ... done
sent 10 bytes received 12 bytes 2.93 bytes/sec
total size is 0 speedup is 0.00
但是,如果我将 -ctime 更改为 29,它会找到文件:
cd /mnt/ntserver/documentation/ && find . -type f -ctime 29 | rsync -av --max-size=5m --include '*/' --include '*.xls*' --include '*.doc*' --include '*.pl' --include '*.sh' --include '*.sql' --include '*.txt' --include '*.vsd' --exclude '*' --files-from=- /mnt/ntserver/documentation /home/dan/cifs/
building file list ... done
doc1.xlsx
doc2.xlsx
doc3.xlsx
sent 6657515 bytes received 91 bytes 783247.76 bytes/sec
total size is 14039237 speedup is 2.11
我做错了什么?为什么它找不到过去 30 天内创建/修改的所有文件?
答案1
使用-ctime -30
。请注意-30
,而不仅仅是30
。