@yangwenbo
2023-02-10T17:44:12.000000Z
字数 1285
阅读 221
编辑定时任务
编辑: crontab-e [-u 用户名]
查看: crontab-I[-u 用户名]
删除: crontab-r[-u用户名]
每天早_上7:50自动开启sshd, 22:50关闭
每隔5天清空一次FTP服务器公告目录/var/ftp/pub
每周六7:30重启httpd服务
每周一、五的17:30打包备份/etc/httpd目录
注意:命令建议使用绝对路径
1,定时任务要加注释
2,如果已经要定向到文件中,结尾不要有>/dev/null 2>&1
3,/server/log目录必须要存在才能出结果,如没有创建这个目录。
4,定时任务中的路径一定要绝对路径
5,crond服务必须首先开启
6,查看定时任务日志tail /var/log/cron
要领1:为定时任务规则加必要的注释。
要领2:执行shell脚本任务前加/bin/sh
要领3:定时任务命令或脚本结尾加>/dev/null 2>&1
要领4:定时任务命令或程序最好写到脚本里执行
要领5:在指定用户下执行相关的定时任务
要领6:生产任务程序不要随意打印输出信息
要领7:定时任务执行的脚本要规范路径(/server/scripts)
要领8:配置定时任务规范操作过程
如果定时任务规则结尾不加>/dev/null2>&1等命令配置,有可能有大量输出信息,时间长了,可能由于系统未开启邮件服务而导致邮件临时目
录/var/spool/clientmqueue文件数猛增的隐患发生,大量文件会占用大量磁盘inode节点(每个文件占一个inode),以致磁盘inode满而无法写入正常数据。
解决方法:
1,删除大量小文件/var/spool/postfix/maildrop/下所有文件(ls|xargs rm -f)
2,临时开启postfix(sendmail)服务
3,vi /etc/crontab:将‘MAILTO=root’替换成‘MAILTO=“”’然后service crond restart
即可。(如果还不行,crontab -e 第一行增加MAILTO=“”)
亡羊补牢:
定时任务定向到空>/dev/null 2>&1
- 定时任务一定要尽量用脚本实现。
- 命令行操作成功,然后放入脚本执行(/bin/sh 脚本全路径)成功,最后在配置任务
- 复制操作成功的命令行脚本,再定时任务里黏贴配置。
- 加/bin/sh执行脚本 /bin/sh /server/script/chensiqi.sh
- 要把脚本的执行结果定向到空或者是一个文件中,不要什么都不加。