macOS 定时任务的实现:crontab
目录
macOS(Linux) 定时任务的实现:crontab
任务内容的格式:f1 f2 f3 f4 f5 executable_program >/dev/null 2>&1
前面五个参数表示时间:
参数 | 含义 | 范围 |
---|---|---|
f1 | Minute | 0-59 |
f2 | Hour | 0-23 |
f3 | day of Month | 1-31 |
f4 | Month | 1-12 |
f5 | day of Week | 0-6,星期天为0 |
后面的是输出重定向:
- 2 错误输出 (stderr)
- 1 标准输出 (stdout)
- & 重定向到文件描述符,必须在文件描述符数字之前加 &(也叫重定向绑定)
crontab -l
crontab -r
crontab file
在 config/crontab 目录下建立 rclone 任务文件,每天下午三点运行 rclone.sh 脚本,并将输出重定向到 rclone.log。
/Users/yuhanliu/Downloads/rclone-v1.57.0-osx-amd64/rclone sync /Users/yuhanliu/Documents/yuhan/sites/mongo onedrive-lyh:/backup/mongo
docker start my-mongo
0 15 * * * /Users/yuhanliu/Documents/yuhan/config/crontab/rclone-onedrive-lyh.sh> /Users/yuhanliu/Documents/yuhan/config/crontab/rclone-onedrive-lyh.log 2>&1
cd /Users/yuhanliu/Documents/yuhan/config/crontab
crontab rclone-onedrive-lyh
crontab -l
{
"related_work": [
{
"name": "crontab 中的命令需要重定向输出",
"type": "forum",
"url": "https://learnku.com/articles/7414/the-commands-in-the-crontab-need-to-redirect-the-output"
},
{
"name": "Linux crontab 命令",
"type": "runoob",
"url": "https://www.runoob.com/linux/linux-comm-crontab.html"
}
]
}