每天晚上 11 点运行一次命令,将文件(flie1.seq)从一个目录(xyz)复制到另一个目录(abc)

每天晚上 11 点运行一次命令,将文件(flie1.seq)从一个目录(xyz)复制到另一个目录(abc)

我正在使用 Putty 并尝试编写 Linux 命令,使其每天晚上 11 点运行一次,并将文件 (flie1.seq) 从一个目录 (xyz) 复制到另一个目录 (abc),xyz 文件夹中的文件必须是当前日期(例如,文件必须在今天(当前日期)修改或创建,然后必须复制,否则忽略)。想知道是否有人可以帮忙...

答案1

1-切换到您想要以该身份执行此序列的用户。

2-创建一个 cronjob,它将在每天晚上 11 点执行你的命令:

crontab -e

这将打开一个文本编辑器,您可以在其中编写您的工作:

3-然后复制以下代码片段并保存:

00 23 * * * /bin/cp /xyz/file1.seq /abc/

4-检查 cronjob 是否已设置:

crontab -l

PS:请注意cp将自动刷新时间戳至当前操作时间:atime、mtime、ctime

答案2

使用 crontab 和 rsync 的方法

#m  h   dom mon dow command
00  23  *   *   *   /usr/bin/find /xyz/flie1.seq -daystart -mtime -0 -exec /usr/bin/rsync -az {} /abc/ \;

在路径 /xyz/ 中查找文件“flie1.seq”,其中

  • -daystart = 从“今天”开始
  • -mtime 0 = 修改时间是今天
  • -exec rsync = 执行 rsync

使用 rsync 选项 -az

  • a = 保留属性(硬链接除外)
  • z = 在传输过程中压缩文件数据

同步到文件夹 /abc/

同步非常方便,也是我首选的方法,因为如果您的目的地是远程服务器,它很容易使用。

相关内容