我想使用crontab来同步linux部分和windows部分之间的两个目录,如下所示:
24 9 * * * cp -r /home/fan/Data /media/T/Data但是它将在原始数据目录中创建一个名为Data的目录,而不是从源目录复制缺少的文件。我在cp手册上找不到一个完美解决这个问题的正确选择。如何将丢失的文件(它们确实存在于目标目录)从src复制到dir。
顺便说一句,似乎需要安装T磁盘来运行复制命令,当我需要运行命令时,如何自动挂载磁盘(挂载命令应该以root的形式运行)。
如果命令有异常,我如何获得错误消息?
发布于 2014-04-06 15:08:48
使用rsync:
24 9 * * * rsync -a /home/fan/Data/ /media/T/Data在源目录的名称末尾添加额外的/将告诉rsync复制内容而不是完整的目录。rsync还将避免复制具有相同时间戳/大小的文件(即99.99%的情况下不需要复制的文件)。
另外,如果您在同一系统上同步文件,请考虑使用--inplace选项rsync来加快速度。从手册页:
--inplace
This option changes how rsync transfers a file when its data needs to be
updated: instead of the default method of creating a new copy of the file and
moving it into place when it is complete, rsync instead writes the updated
data directly to the destination file.虽然这个选项有优点和缺点,但最大的缺点可能是,如果同步被中断,目标文件将处于不一致的状态,只能通过重新启动才能修复。
https://unix.stackexchange.com/questions/123394
复制相似问题