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
、、crontab
。cron job
cron
cron 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
将重定向输出到日志文件,这可能是我想要的或不想要的。