crontab

1. 使用Crontab的原因.

每次更新博客都要登录服务器(ssh延迟容易中断)手动去拉取代码, 不方便. 故设置成自动获取最新代码.

2. 选择crontab定时

查看下资源, 觉得crontab简单可行, 直接来用就好了.

3. 定时任务需需要做事情.

  1. 特定目录执行git pul的shell脚本. 这里配置ssh key

vim git_pull.sh


#!/bin/bash

# 进入目录中

cd ~/nginx-hugoBlog/lizicai.com/

# 拉取github中的代码

git pull

  1. 添加crontab任务文件

vim git_pull.cron

设置5分钟拉取一次代码

*/5 * * * * cd /root && ./git_pull.sh

  1. 把定时任务文件内容加到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 * *  命令