Linux
在 cifs 掛載上從 Windows 共享創建或修改的 rsync 文件
我想將文件同步到我的本地 linux 機器,但我只想要在過去 30 天內創建或修改的文件。
我正在使用以下命令從 linux 安裝 Windows 共享:
mount -t cifs //Share/public /mnt/ntserver -o username=myuser,password='password',domain=sub.domain.com
它安裝正確,我可以安裝:
$ 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 天內創建/修改的所有文件?
使用
-ctime -30
. 注意-30
,不只是30
。