linux创建定时任务发送钉钉通知
一、现在钉钉里面添加机器人
添加成功后,复制出Webhook链接。
注意,自定义关键字时你的发送信息中一定要完整包含关键字
二、找到自己的服务器
1. sudo su 切换到root用户
2.crontab -l 查看已有的定时任务
3.crontab -e 会进入vim模式,添加自己的定时任务,点击i可以直接添加
4.也可以先把你的定时任务写一个.sh文件
chmod +x xiaoxi.sh 修改权限
./xiaoxi.sh 直接执行这个文件进行测试
tips:
我当时遇到的是这种错误提示“
$ ./ribaotixing.sh
{"errcode":310000,"errmsg":"keywords not in content, more: [https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq]"} ”
问题原因:
钉钉发送群通知时需要设置关键字,这个关键字需要跟你每次发送的内容存在完全匹配关系。
拿我要发送的内容举例:
我这里每次发送一定存在的关键字是 “项目进度更新提醒”,所以需要对应在钉钉机器人那里加一个完全匹配的关键字
5. 然后设置定时任务执行你这个文件里面的内容就可以了
(1)linux下查看已有定时任务
crontab -l
提示:不同账户对应看到的是账户下的定时任务
ps:
切换账户
切到root : sudo su
切到dev :su - dev
(2)编辑新增定时任务
crontab -e
添加完成 按esc,:wq 保存即可
00 19 * * * 这个是设置执行的时间
几个例子:
每五分钟执行一次: */5 * * * *
每小时执行一次 : 0 * * * *
每天执行一次: 0 0 * * *
每周执行一次: 0 0 * * 0
每月执行一次: 0 0 1 * *
每年执行一次: 0 0 1 1 *
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line
1月1日早上4点
0 4 1 1 * command line SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号 HOME=/
每小时执行/etc/cron.hourly内的脚本
01 * * * * root run-parts /etc/cron.hourly
每天执行/etc/cron.daily内的脚本
02 4 * * * root run-parts /etc/cron.daily
每星期执行/etc/cron.weekly内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly
每月去执行/etc/cron.monthly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly
注意: "run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名。
每天的下午4点、5点、6点的5 min、15 min、25 min、35 min、45 min、55 min时执行命令。
5,15,25,35,45,55 16,17,18 * * * command
每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * * 1,3,5 shutdown -r +5
每小时的10分,40分执行用户目录下的innd/bbslin这个指令:
10,40 * * * * innd/bbslink
每小时的1分执行用户目录下的bin/account这个指令:
1 * * * * bin/account
每天早晨三点二十分执行用户目录下如下所示的两个指令(每个指令以;分隔):
20 3 * * * (/bin/rm -f expire.ls logins.bad;bin/expire$#@62;expire.1st)
每年的一月和四月,4号到9号的3点12分和3点55分执行/bin/rm -f expire.1st这个指令,并把结果添加在mm.txt这个文件之后(mm.txt文件位于用户自己的目录位置)。
12,55 3 4-9 1,4 * /bin/rm -f expire.1st$#@62;$#@62;mm.txt