从 cifs 安装上的 Windows 共享创建或修改的 rsync 文件

从 cifs 安装上的 Windows 共享创建或修改的 rsync 文件

我想将文件 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

相关内容