发布网友 发布时间:2024-09-25 19:07
共1个回答
热心网友 时间:2024-11-29 07:48
简介我们可能会对Linux进行简单的监控或者定期执行一些操作,因此会用到linux自带的定时任务功能。
语法manUsage:crontab[options]filecrontab[options]crontab-n[hostname]Options:-u<user>defineuser-eedituser'scrontab-llistuser'scrontab-rdeleteuser'scrontab-ipromptbeforedeleting-n<host>sethostinclustertorunusers'crontabs-cgethostinclustertorunusers'crontabs-sselinuxcontext-x<mask>enabledebugging1. 查看定时任务1)查看当前用户的crontab-l如果该服务器被挖矿,他很可能也同时执行了定时任务,用此命令可以看到挖矿的脚本
2)查看指定用户的crontab-l-uzzz#zzz为系统存在的一个用户查看指定用户(zzz)正在执行的任务 ,只需要添加-u参数即可,其他命令也同理
3)查看系统所有用户的cat/etc/passwd|cut-f1-d:|xargs-I{}crontab-l-u{}2. 删除当前的定时任务crontab-r3.新增或编辑定时任务crontab-e进入编辑模式, 按照指定任务命令格式编辑命令, 格式参照下面的任务命令格式
4.查看支持的环境变量cat/etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root#发送邮件到账号任务命令格式任务命令分为两个部分: 第一部分是cron表达是, 后面跟着sh命令
例子
*****/root/date.sh#每分钟执行一次date.sh脚本文件0****echo'-------------'>>/root/date.txt#每小时0分的时候向date.txt文件中加入一句话*1**0rm-rf/root/date1#每个星期的星期天的1点左右删除date1文件cron表达式的语法规则*****-----|||||||||+-----星期中星期几(0-6)(星期天为0)|||+----------月份(1-12)||+---------------一个月中的第几天(1-31)|+--------------------小时(0-23)+-------------------------分钟(0-59)sh命令语法规则单行的可执行的sh命令, 可以是运行shell脚本的命令,也可以是直接的sh命令
其他1) 任务是否执行查询在/var/log/目录下有cron开头的文件, 里面包含了crontab的执行记录
Feb1910:19:01zdcCROND[8314]:(root)CMD(/root/date.sh)Feb1910:20:01zdcCROND[8390]:(root)CMD(/root/date.sh)Feb1910:21:01zdcCROND[8440]:(root)CMD(/root/date.sh)Feb1910:22:01zdcCROND[8487]:(root)CMD(/root/date.sh)Feb1910:23:01zdcCROND[8544]:(root)CMD(/root/date.sh)推荐将任务写成脚本, 在其中添加执行成功失败之类的输出逻辑,自定义输出到指定文件中 如
crontab-l02) 任务是否出错判断当任务执行过程中报错后,会给当前用户发送邮件,默认情况下在/var/spool/mail 中的对应用户文件下
crontab-l1crontab-l2crontab发送邮件发送到外部邮箱,以qq邮箱为例
在cat /etc/crontab将MAILTO=root 修改为你需要的外部邮箱账号
且在crontab -e 的第一行添加MAILTO=外部邮箱账号
并且配合linux发送邮件文章使用
结束语尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
如果您喜欢我的文章,可以[关注]+[点赞]+[评论],您的三连是我前进的动力,期待与您共同成长~
crontab-l3