Debian下Cron的使用方法和常见问题

        最近在利用手上空闲VPS做网赚用到Cron,可发现在Debian下出现了一些问题,经过查阅了很多资料,整理了一些常用命令和配置方法。
        一般Cron都不用安装,系统都自带,如果没有可自行安装。

        判断crond 是否在运行:pgrep crond或者pgrep cron,如果有在运行则返回进程号。如果没有安装,可用以下命令安装:

一、常用的cron命令:
启动:/etc/init.d/cron start
关闭:/etc/init.d/cron stop
重启:/etc/init.d/cron restart
        有的系统可能init.d目录下没有 cron 而只有 crond,其实也一样,只不过把cron换为crond:
启动:/etc/init.d/crond start
关闭:/etc/init.d/crond stop
重启:/etc/init.d/crond restart

杀掉crond进程:pkill crond 或者 pkill cron,此法可用在关闭或重启不了cron的时候。

配置cron定时任务:crontab -e,配置文件路径一般为/var/spool/cron/crontabs/root
这个是root用户的配置文件,其它用户是对应的用户名命名的文件,所以配置定时任务也可以

crontab -u <用户名称> //配置指定用户的配置文件
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务

比如说root用户想要查看自己的cron设置:crontab -l
再例如,root想删除fred的cron设置:crontab -u fred -r

二、下面讲如何配置定时任务
基本格式 :
* * * * * command
几个星号分别为:分 时 日 月 周,最后是要执行的命令。
分:0~59
时:0~23
日:1~31
月:1~12
周:0~6(0表示星期天)

配置文件的一些例子:
0 3 * * * /root/test.sh #每天凌晨3点执行test.sh文件;
* 23-7/1 * * * /root/lnmp restart #晚上11点到早上7点之间,每隔一小时重启lnmp套件;
*/30 * * * * /usr/sbin/ntpdate #每半小时同步一下时间;
0 23 * * 6 /lnmp restart #每星期六的11 : 00 pm重启重启lnmp套件;
* */1 * * * /usr/bin/mutt -s “hello” test@seeke.net ps -ef | grep firefox | grep -v grep” ] && export DISPLAY=localhost:1.0 && nohup firefox > /dev/null 2>&1 & #两分钟检查一下firefox是否运行,如果没有则运行它。

三、注意事项
        在用cron的时候会遇到命令不执行的情况。遇到这种情况一般首先是检查cron有没有在运行,如果有在运行在重启一下cron,让它重新加载配置试试,再就是检查配置文件有没有格式错误。
        如果这些都没有问题,那很可能就是时间对不上的问题了。cron要求timezone和localtime都要一致,因为时间会影响cron的执行,一般简单的解决方法如下:

此条目发表在Linux, VPS(虚拟专用服务器), VPS教程分类目录,贴了, , , 标签。将固定链接加入收藏夹。

发表回复