Cron Job 将文件从一个位置复制到另一个位置以获取新文件(每日)

Cron Job 将文件从一个位置复制到另一个位置以获取新文件(每日)

如何创建一个 cron 作业来复制 1 天范围内(每天午夜)的所有新文件?因此,基本上从当天创建的所有文件都保存到新文件夹中,并且所有权限、日期属性、所有者/组都完好无损。

/var/www/folder1/ 中的所有文件到 /var/www/folder2/

使用 crontab -e

本质上,我正在寻找可用于每天将文件从一个文件夹复制到另一个文件夹且保持所有属性完整的参数。

Linux:UBUNTU 10.04 lts

答案1

cron 仅在给定时间执行命令。为了做你想做的事,你需要找出一个可以做你想做的事的命令,然后在给定时间用 cron 执行它。

例如,要简单地将文件从一个位置复制到另一个位置,您可以使用

rsync -a /原点/目标

然后通过运行crontab -e并指定来安排它使用 cron 运行

0 0 * * * /usr/bin/rsync -a /origin /destination

在文件中。这将导致您的 rsync 每天午夜运行。

每天执行此操作将使两个目录保持同步。如果您只想复制过去一天创建的文件,这会有点困难,但可以使用find--newer 和 -exec 选项来运行以cp复制文件。

答案2

因此,像这样,请记住这是在 Linux 上查找 [find . -ctime 1 -print | xargs] 将为您获取过去一天内的文件,基本上是 1*24 小时。您可以随意使用此文件列表。当然,如前所述,rsync 是一种可行的方法。这就是 rsync 的用途,维护镜像目录结构。

相关内容