自动执行 rsync 命令

自动执行 rsync 命令

rsync我目前每天运行的命令太多了。
有人能告诉我如何自动执行这些命令吗?
我是 Linux 新手,所以可能需要一点解释。

答案1

因此首先将以下内容保存在名为rsynccommands.sh

#! /bin/bash

echo "starting all"
rsync-command-1
echo "completed 1"
rsync-command-2
echo "completed 2, starting 3"
rsync-command-3
echo "completed 3, starting 4"
rsync-command-4
echo "completed 4, starting 5"
rsync-command-5
echo "completed 5, completed all."

这是一个 bash 脚本。

使脚本可执行:

chmod + x /hom/USER/path/to/rsynccommands.sh

然后运行命令crontab -e并复制/粘贴以下内容:

30 13 * * * /home/USER/path/to/rsynccommands.sh >/dev/null 2>&1

这将在每天下午 1:30 运行脚本,30 表示 30 分钟后,13 表示下午 1 点。星号表示每天、每月和每年。

答案2

您可以使用计划任务安排您的 rsync 命令定期运行。

网络上有大量关于 cron 的信息,但可以帮助您搜索的一些术语是cron、、crontabcron job

croncron jobs是按照文件指定计划运行的机制/软件crontab

要编辑您的 crontab sun crontab -e。系统上的每个用户都有自己的 crontab,sudo crontab -e如果您的工作需要提升权限,您可以使用 编辑 root 用户的 crontab。

还有一个通用的 crontab,/etc/crontab您可以在其中指定以哪个用户身份运行该作业。

通常您只想坚持编辑自己的 crontab。

每天早上 5 点运行 rsync 脚本的 cron 条目示例如下:

5 * * * *   rsync command here > logfile.txt

5 * * * *表示每天、每周、每月的任意一天以及一周中的某天的第 5 个小时

rsync command here显然是你的rsync命令。使用完整绝对路径

> logfile.txt将重定向输出到日志文件,这可能是我想要的或不想要的。

相关内容