定时任务(linux中的crond)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时任务(linux中的crond)相关的知识,希望对你有一定的参考价值。
1 .定时任务基础
书写格式:分时日月周 /bin/bash xxx.sh >/dev/null 2>&1 (或写入一个文件内,如果不如此,每次定时任务执行都会生成邮件发送给root,造成inode满的问题)。(开启邮件服务会堆积到邮箱文件/var/spool/mail/root(时间久了会分割)如果没开启邮箱会堆积在邮箱的这个目录中(/var/spool/postfix/maildrop)(都是一个个小文件)
插图:
1.常用的命令(和文件)
crontab -l #查看已经设置的定时任务
crontab -r # 清空所有定时任务
crontab -e #编写定时任务(本质在写入这个文件/var/spool/cron/root)
#系统本身的定时任务,如日志分割,配置文件/etc/crontab系统中毒后病毒容易再这里写入定时任务
2.依赖的程序
crond #注意个命令的区别,易混。(sshd,network都是守护进程,需要启动程序)
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
3.定时任务的标准书写格式
a.现在命令行测试可行
b.放入脚本中(需要绝对路径)
c.书写定时任务(不支持tab键)(默认没有执行权限)
d.检查定时任务执行日志及脚本效果,确认正常执行。(/var/logl/cron)
书写时几大误区:
a.定时任务多用脚本完成,如果是命令书写,date +%F 中%有特殊含义需\转椅。
b.脚本书写定时任务后面固定格式 >/dev/null 2>&1 (>文件,只存在一个)
C.无法识别大部分环境变量,所以绝对路径书写
d.打包目录,要切换到当前目录,然后用相对路径不会报错。
vi快捷键?提高书写速度,高手必备!
:wq
:q! #保存,天天使用,必须会
G 最后一行
gg最前一面
100gg 到指定行 #大篇幅,跳转行数
0 ^ 快速到行首
$ 快速到行尾
o 在光标所在位置新建一行,并转入输入模式
O 上一行
dd 删除光标所在行(剪切) # dG 剪切光标到最后一行
p粘贴(不需要转到输入模式) # 100p粘贴100次
yy 复制光标当前行 #在一行级别跳转
u 撤销之前的操作
/ 3306 搜索内容 n继续搜索下一个N向上搜索 #搜索功能
vim特有属性
vi或vim 意外关机,断电,断开连接,在打开文件会报错。有一个.xxxx.swp;E,忽略刚才断电时,没保存的文件,重新打开原文件;R 恢复刚才没保存。
在最后一行冒号后面R---回车---:wq ---(查看原文件,已经恢复了,然后再打开会重复报错,删除隐藏文件即可)
E 后仍然报错,也需要删除临时文件
D删除这个临时文件和本地删除两种都可以
2 .企业应用
面试题:每天晚上12点打包web的程序,并按日期命令备份文件。(打包achf可以打包软链接)
解答:
vi web_back.sh
!#/bin/bash
/bin/tar zchf web_backup$(date +%F).tar.gz ./www
crontab -e
00 00 * * * /bin/bash /xxx/web_back.sh >/dev/null 2>&1
分析:工作中定时任务一般都是凌晨执行~
本文出自 “认真做一件事” 博客,请务必保留此出处http://edencheng.blog.51cto.com/12260487/1971495
以上是关于定时任务(linux中的crond)的主要内容,如果未能解决你的问题,请参考以下文章