CentOS7 crontab

列出crontab文件
crontab -l

方法1、使用crontab命令
编辑crontab文件
crontab -e
0 * * * * /usr/bin/curl -k -G https://xxxx > /dev/null 2>&1 &

如果需要每30秒执行一次,则可以增加一个一分钟一次的任务,sleep 30s:
* * * * * sleep 30; /home/xxx/audit.sh > /dev/null 2>&1 &

如果当前用户是root,需要为其他用户配置,可以使用
crontab -e -u 用户名

这种方法有一个缺点,就是当前系统中配置的crontab不在一个配置文件中,让管理员不方便查询系统到底有多少个crontab。


方法2、直接在/etc/crontab文件中添加
vi /etc/crontab打开文件,应该会看到类似下面的信息
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

要添加新的crontab,只需要在文件最后增加即可。注意这里面需要指定用户名;而方法1中则不需要,如果指定了,它会认为是命令的一部分,从而可能导致crontab执行失败。
如果服务器都是由root来管理,建议添加crontab使用方法2,这样系统中的所有计划任务都在一起,一目了然。

重启crontab,使配置生效
service crond reload
service crond restart
注意:此种方式创建的job在crontab -l中看不到
树莓派:
service cron reload
service cron restart

查看crontab执行情况:
tail -f /var/log/cron