我正在尝试为日常 cronjob 创建一个 bash shell 脚本。
该脚本是将所有扩展名为 txt 的文件(包括子目录)从文件夹“fromDir”复制到文件夹“toDir”。
如果“toDir”目录不存在,它也会创建。
我在这里尝试使用tar来压缩文件并在它移动后解压缩以加快传输过程中花费的时间,目标文件夹应与原始文件夹具有完全相同的结构。
#!/bin/bash -l
fromDir='c:/fromFolder/' ;
toDir='c:/toFolder/' ;
find $fromDir -maxdepth 3 -name '*.txt' -print |
tar zcvf - -T - |
mkdir -p -m 777 $toDir ;
cd $toDir && tar zxvf -
如果你可以使用rsync你可以试试这个:
rsync -av --include="*/" --include="*.txt" --exclude="*" ~/from/ ~/to/ --dry-run
这可以解释为包含每个目录*.txt
并排除其他任何内容(顺序很重要)
该选项--dry-run
只是打印将要执行的操作,但不会复制任何文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句