Linux crontab命令详解

Posted ftl1012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux crontab命令详解相关的知识,希望对你有一定的参考价值。

crontab:定时任务的守护进程,精确到分,设计秒的我们一般写脚本  -->相当于闹钟
        日志文件:  ll /var/log/cron*
        编辑文件: vim /etc/crontab       
        进程:ps -ef | grep crond  ==> /etc/init.d/crond restart
        作用:定时备份,实时备份

 

常见命令参数

 

常用的命令展示


 

   

 

crontab使用小结


                         最好用2为阿拉伯数字显示
                        周和日最好不要同时用
                        定时任务要加注解
                        可以定向到日志文件或者空文件
                        定时任务一定是绝对路径,且目录必须存在才能出结果
                        crontab 服务一定要开启运行

生产调试定时任务


                        1.增加执行任务的频率调试
                        2.调整系统时间调试任务,提前5分钟   -->不用于生产环境
                        3.通过脚本日志输出调试定时 任务
                        4.注意一些任务命令带来的问题        -->确保命令的正确性

crontab箴言


                1.环境变量问题,例如crontab不能识别Java的环境变量
                       crontab执行shell时,只能识别为数不多的环境变量,普通的环境变量是无法识别的,所以在编写shell时,最好使用export重新声明变量,确保脚本执行。
                        2.命令的执行最好用脚本
                        3.脚本权限加/bin/sh,规范路径/server/scripts
                        4.时间变量用反斜线转义,最好用脚本
                        5.定时任务添加注释
                        6.>/dev/null 2>&1   ==>&>/dev/null,别随意打印日志文件
                        7.定时任务里面的程序脚本尽量用全路径
                        8.避免不必要的程序以及命令输出
                        9.定时任务之前添加注释
                        10.打包到文件目录的上一级

crontab规范

  
            定时任务要加必要的注释(什么人,什么时间,是谁,作了什么事情)
            定时任务或者程序最好写到脚本里面去      -->脚本执行   
                date +%F %H:%M:%S  -->直接写入crontab -e 需要转义%,否则报错   
                   ***** cd /etc && tar czf /root/service_$(date +\%F \%H:\%M:\%S).tar.gz ./services                
            执行shell脚本,前面最好加/bin/sh(不管有没有权限,都可以执行)
            定时任务的结尾加 /dev/null 2>$1(==> &>/dev/null ==> 1>/dev/null 2>/dev/null)

               -->定时任务,每执行一次,发一次邮件给管理员(/var/spool/clientsqueuq  -->直接删除不掉,用 ls | xargs rm ),邮件的临时路径会无效的占用inode
            在指定的用户下执行相关任务
            生产任务程序不要随意打印输出信息 
            执行定时任务的脚本要规范路径(绝对路径)
            如遇打包
                1.到上级目录打包 打包/etc/services 到/root
                2.如果分级别打包,则时间应该精确到分
                    cd /etc
                    tar czf /root/service_$(date +%F %H:%M:%S).tar.gz ./services
            配置定时任务规范操作过程,防止出错
                命令测试成功后,复制到脚本
                测试脚本成功后,复制脚本的规范路径到crotab -e














































以上是关于Linux crontab命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux Crontab 定时任务 命令详解

Linux定时任务Crontab命令详解_转

Linux下的crontab定时执行任务命令详解

crontab每周一执行一次(linux crontab命令详解)

Linux crontab命令详解

crontab Linux命令详解