定时任务(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    #注意个命令的区别,易混。(sshdnetwork都是守护进程,需要启动程序)

/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特有属性

vivim 意外关机,断电,断开连接,在打开文件会报错。有一个.xxxx.swpE,忽略刚才断电时,没保存的文件,重新打开原文件;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)的主要内容,如果未能解决你的问题,请参考以下文章

Linux crond定时任务

[Linux之crond计划任务定时任务]

定时任务crond及由其导致的inode满案例

Linux计划任务 定时任务 Crond 配置详解 crond计划任务调试 sh -x 详解 JAVA脚本环境变量定义

crond定时任务详细分析

Linux系统定时任务crond那些事