1. 使用Crontab的原因.
每次更新博客都要登录服务器(ssh延迟容易中断)手动去拉取代码, 不方便. 故设置成自动获取最新代码.
2. 选择crontab定时
查看下资源, 觉得crontab简单可行, 直接来用就好了.
3. 定时任务需需要做事情.
- 特定目录执行git pul的shell脚本. 这里配置ssh key
vim git_pull.sh
#!/bin/bash
# 进入目录中
cd ~/nginx-hugoBlog/lizicai.com/
# 拉取github中的代码
git pull
- 添加crontab任务文件
vim git_pull.cron
设置5分钟拉取一次代码
*/5 * * * * cd /root && ./git_pull.sh
- 把定时任务文件内容加到crontab中
# 添加root账户中
crontab -uroot git_pull.cron
# 查询当前任务, root是账户, 添加的定时任务会放到这个目录中
crontab -uroot -l
cat /var/spool/cron/root
# 删除root用户的定时任务
crontab -uroot -r
日志的地址, 相当重要.
# 日志文件 /var/spool/mail/root
# 查看日志
# 可以把时间设置1分钟, 可以很快看到执行情况, 方便调试.
tail -f /var/spool/mail/root
4. crontab 时间配置
# 格式是
# 分 时 月份中第日 月份 星期中第几天 运行的命令
# 每分钟执行一次,
*/1 * * * * 命令
# 每小时第20, 30分钟执行一次
20,30 * * * * 命令
# 8-20时, 每小时第20, 30分执行一次
20,30 8-20 * * * 命令
# 每2天执行一次命令
0 0 */2 * * 命令
# 周六周日执行命令
0 0 0 0 6,0 命令
# 每月初一, 十五去执行
0 0 1,15 * * 命令