Linux

在 cifs 掛載上從 Windows 共享創建或修改的 rsync 文件

  • March 13, 2012

我想將文件同步到我的本地 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

引用自:https://serverfault.com/questions/369103