时间:2023-06-02 16:16:41 来源: 人气:
Linux计划任务cron是一个定时模式,例如我们可以在系统使用最少时对系统进行备份,但是管理员不可能在半夜来到公司工作,那么就可以使用Linux计划任务cron,现在来介绍一下具体使用方法。, 目前流行的Linux系统在安装好后cron都是安装好的并且是随机启动的, 启动cron服务/sbin/service crond start, 停止服务/sbin/service crond stop, 重启服务/sbin/service crond restart, 重新加载/sbin/service crond reload, 服务的启动停止介绍完了下面来说如何添加计划任务, 使用crontab命令, crontab -u设定某个用户的cron服务, crontab -l列出当前用户的cron服务的详细内容, crontab -r删除当前用户的cron服务, crontab -e编辑当前用户的cron服务, 例如当前登陆的用户是root, 运行crontab-e就给root用户创建一个计划任务, 运行crontab -e进入vi编辑计划任务内容, 第1位分钟表示(0-59)第2位表示小时(0-23), 第3位表示天(1-31)第4位表示月份(1-12), 第5位置表示星期(0-6)0表示星期日, 后面www.111cn.net是你要执行的任务, 每一位之间使用空格分开, 上面时间除了使用数字还有几个特殊符号, “*”表示所有数值如第一位使用*表示每分钟, “/”表示每如果第一位使用*/5表示每5分钟, “-”表示数值范围“,”来隔开离散的数值如第2位是1-6,8表示1点到6点,还有8点, 具体实例如下, 每天1点向某个文件写入一段话, 0 1 * * * echo "helloworld">>/tmp/test.txt, 每5分钟向执行一个程序或者命令, */5 * * * * 执行的命令, 如何知道您的计划任务是否运行了,1你可以去检查您要执行的命令是否在你指定的时间去运行了,2有的命令运行结果不好查看你可以去查cron的日志/var/log/cron, 在此文件中记录了计划任务执行的情况, 上述方法添加完成计划任务后会在/var/spool/cron目录中生成一个用户名字的文件,文件里面就是你的计划任务,cron服务每分钟读取一次/var/spool/cron中的文件, 还有一种方法可以添加计划任务自己编辑/etc/crontab(cron服务每分钟也读取一次/etc/crontab文件), 在文件的末尾添加计划任务格式和上述方法完全一样, /etc/crontab里面还有其他的东西,下面来说下, MAILTO=root//如果出现错误,或者有数据输出,数据作为邮件发给这个帐号, 01 * * * * root run-parts /etc/cron.hourly 每个小时去执行一遍/etc/cron.hourly内的脚本, 0 24 * * * rootrun-parts /etc/cron.daily 每天去执行一遍/etc/cron.daily内的脚本, 2 24 * * 0 root run-parts /etc/cron.weekly 每星期去执行一遍/etc/cron.weekly内的脚本, 4 24 1 * * root run-parts /etc/cron.monthly 每个月去执行一遍/etc/cron.monthly内的脚本, 注意上面的run-parts参数如果去掉run-parts后面就要跟要执行的某个脚本名,如果加上run-parts参数后面就要跟目录名了, 也可以限制cron的使用, 如果在/etc/目录中存在cron.allowcron.deny文件, 只有cron.allow文件中列出的用户才能使用cron服务,同时忽略cron.deny文件, 如果cron.allow文件不存在,cron.deny文件中列出的用户将被禁止使用cron服务。, 这样我们就完成了Linux计划任务cron的学习。, 补充一些例子:, crontab文件的的些例子:, 30 21 * * * /usr/local/etc/rc.d/lighttpd restart, 上面的例子表示每晚的21:30重启apache, 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart, 上面的例子表示每月1、10、22日的4 : 45重启apache, 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart, 上面的例子表示每周 6、周日的1 : 10重启apache, 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart, 上面的例子表示在每天18 : 00至23 : 00的间每隔30分钟重启apache, 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart, 上面的例http://www.111cn.net表示每星期 6的11 : 00 pm重启apache, * */1 * * * /usr/local/etc/rc.d/lighttpd restart, 每的小时重启apache, * 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart, 晚上11点到早上7点的间的每隔的小时重启apache, 0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart, 每月的4号和每周的到周 3的11点重启apache, 0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart, 的月的号的4点重启apache,