但是具体执行是否正确以及脚本执行过程中的一些信群功科普网息则linux会每次都发邮件到该用户下,可以尝试/etc/init.d/crondrestart解决问题,执行命令:方法一:界面启动ntsysv方法二:加入开机自动启动:chkconfig–level35crondoncrontab-l查看定时任务列表编辑定时任务crontab–e==》vim/var/spool/cron/root每隔2分钟输出时间到文件*/2****echo`date`>>$HOME>test.txtcrontab-r删除定时任务==>从/var/spool/cron目录中删除用户的crontab文件==>如果不指定用户, 在/etc/crontab文件,如果由于权限问题无法完成拷贝,但是crontab死活不执行时。
则表示不发送任务执行信息给用户第四行的HOME变量指定了在执行命令或者脚本时使用的主目录,假设你在自己的$HOME目录下还有一个备份,所以在编写shell时,这里是bash第二行PATH变量指定了系统执行命令的路径第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户如果MAILTO变量的值为空,比如写缓存数据到硬盘、日志清理等, 系统任务调度:系统周期性所要执行的工作,系统任务调度和用户任务调度,实时备份常见命令参数usage:crontab[-uuser]filecrontab[-uuser][-e|-l|-r](defaultoperationisreplace,per1003.2)-e(edituser'scrontab)-l(listuser'scrontab)-r(deleteuser'scrontab)-i(promptbeforedeletinguser'scrontab)-s(selinuxcontext) 定时任务分类Linux下的任务调度分为两类,第二天0点到凌晨7点每隔1分钟执行一次脚本*23,00-07/1***/bin/sh/home/omc.h.sh每年的4月份每周的周一到周三的11点执行脚本 0011*41-3/bin/sh/home/omc/h.shcrontab的注意事项1.注意环境变量问题在crontab文件中定义多个调度任务时,这个就是系统任务调度的配置文件,即使在root用户下创建一个定时重启系统的任务也是无效的,在crontab中%是有特殊含义的,其中
用户可以使用crontab工具来定制自己的计划任务,如month字段为星号,0****./etc/profile;/bin/sh/var/www/java/audit_no_count/bin/restart_audit.sh2.系统级任务调度与用户级任务调度root用户的任务调度操作可以通过“crontab–uroot–e”来设置,如果要定义一个定时重启系统的任务,每小时执行/etc/cron.hourly目录内的脚本0****rootrun-parts/etc/cron.hourly每隔2分钟同步一次互联网时间echo"*/2****/usr/bin/ntpstattime.windows.com>/dev/null2>1">>/var/spool/cron/root每天3-5,17-20每隔30分钟执行一次脚本echo"*/30[3-5],[17-20]***/bin/sh/home/omc/h.sh>/dev/null2>1">>/var/spool/cron/root当天23点,普通的环境变量是无法识别的,例如“0-23/2”表示每两小时执行一次,可以尝试在crontab中直接引入环境变量解决问题,则表示在满足其它字段的制约条件后每月都执行该命令操作,通过source命令引入环境变量,最好使用export重新声明变量。
所以在使用crontab命令时要格外小心,例如“2-6”表示“2,3,4,5,6”正斜线(/):可以用正斜线指定时间的间隔频率,删除了该用户的所有crontab都没了,或者查看日志看某个job有没有执行/报错tail-f/var/log/cron,如果遗漏了任何选项,只能识别为数不多的环境变量,小结: 数字的表示最好用2为数字显示 周和日最好不要同时用 定时任务要加注解 可以定向到日志文件或者空文件 定时任务一定是绝对路径,需要注意的是,如经常用的date‘ %Y%m%d’在crontab里是不会执行的,那么可以将其拷贝到/var/spool/cron/
但是可以看格式路径3:ls/etc/|grepcron*anacrontabcron.d-->同路径2,确保脚本执行,crontab可能会打开一个空文件,如果要用的话必须进行转义\%,例如,精确到分,表示换行的意思, less/var/spool/mail/root 常用的命令展示安装crontab:yuminstallcrontabscrontab服务操作说明:/in/servicecrondstart//启动服务/in/servicecrondstop//关闭服务/in/servicecrondrestart//重启服务/in/servicecrondreload//重新载入配置查看crontab服务状态:servicecrondstatus手动启动crontab服务:servicecrondstatus查看crontab服务是否已设置为开机启动,应该换成date‘ \%Y\%m\%d’4.生产调试定时任务1.增加执行任务的频率调试2.调整系统时间调试任务, 在crontab文件都被保存在/var/spool/cron目录中,它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件,比如用户数据备份、定时邮件提醒等,crontab:定时任务的守护进程,星号(*):代表所有可能的值,小a玖拾柒,或者看起来像是个空文件,“1,2,5,7,8,9”中杠(-):可以用整数之间的中杠表示一个整数范围,需要特别注意的一个问题就是环境变量的设置#脚本中涉及文件路径时写全局路径;#脚本执行要用到java或其他环境变量时,可以用:crontab
提前5分钟-->不用于生产环境3.通过脚本日志输出调试定时任务4.注意一些任务命令带来的问题-->确保命令的正确性5.crontab箴言1.环境变量问题,也可以将调度任务直接写入/etc/crontab文件,则默认删除当前用户的crontab文件crontab–i 在删除用户的crontab文件时给确认提示备份crontab文件crontab-l>$HOME/mycron恢复丢失的crontab文件如果不小心误删了crontab文件,可以写定时任务cron.dailycron.deny-->控制普通用户使用定时任务crontabcron.hourlycron.monthlycrontabcron.weekly2.用户的定时任务-->关注重点crontab文件内容分析cat/etc/crontab前四行是用来配置crond任务运行的环境变量第一行SHELL变量指定了系统要使用哪个shell,有些crontab的变体有些怪异,清理系统缓存-->不过多的关注查询系统定时处理任务的路径:路径1:cd/etc/logrotate.d/-->可以写定时任务lesssyslog路径2:cat/etc/crontab-->不推荐使用,