企业微信使用 crontab 创建提示机器人
1、创建一个 tip.sh文件
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=(你的key)' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "请填写工时:
工时内网(http://ip/jobhoursmanage/static/index.html#/)
工时外网(http://ipouter/jobhoursmanage/static/index.html#/)",
"mentioned_list": ["@all"]
}
}'
2、登陆服务器,上传 使用的脚本
// 当前服务路径:
/usr/path
3、配置linux 定时器
crontab -e // 打开一个配置文件
添加如下配置:
每天 9:30 执行 sh脚本
30 9 * * * /usr/path/tip.sh
4、配置完成后,查看定时器
crontab -l // 查看
5、清除
关闭定时器,暂时保留提示文本路径
// 方式一 : 使用sed命令删除 (精确删除具体的任务)
sed -i '/tip.sh/d' /var/spool/cron/root
// 方式二: 使用 crontab -r 删除 (直接删除配置文件了)
[root@sdc69 cron]# crontab -l
[root@sdc69 cron]# crontab -e
crontab: installing new crontab
[root@sdc69 cron]# crontab -l
30 9 * * * /usr/path/tip.sh
[root@sdc69 cron]# crontab -r
[root@sdc69 cron]# ls
[root@sdc69 cron]# crontab -l
no crontab for root
6、 crontab 配置扩展
首先要知道 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
Crontab简单示例
1、在 凌晨00:01运行
1 0 * * * /home/linrui/XXXX.sh
2、每个工作日23:59都进行备份作业。
59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh
或者如下写法:
59 11 * * 1-5 /home/linrui/XXXX.sh
3、每分钟运行一次命令
*/1 * * * * /home/linrui/XXXX.sh
4、每个月的1号 14:10 运行
10 14 1 * * /home/linrui/XXXX.sh
Crontab命令的选项
以下是 crontab 的有效选项:
crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
crontab –l : 显示 crontab 文件。
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。
同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
下面我做了一个很小的例子,通过这个小例子我们可以了解到定时任务的创建和删除
1.编写shell脚本hello.sh:
#!/bin/bash
echo "Hello World !" >> test
#这个意思是向test文件内输入“Hello World!"这句话
2.将脚本放到cron任务里:
在终端写入crontab -e命令打开crontab文件
在里面写:*/1 * * * * /home/wyx/hello.sh (这个路径是你存放脚本的路径)
写完后保存退出
3.输入命令:crontab -l 可以查看任务如图:
4.你会看到系统自动新建了一个test文件并每隔一分钟往里输入一句“Hello World!"
这样我们的定时任务就建好了
接下来如果我们想要删除这个任务怎么办呢
增加了crontab任务后,在/var/spool/cron目录下会有一个当前登录账号命名的文件。比如我的登录账号是wyx。则会存在一个wyx文件。该文件的内容就是刚添加的crontab任务。
该处我们使用sed命令来处理/var/spool/cron/wyx 文件,将含hello.sh的行的内容删除掉。
输入命令:sed -i '/hello.sh/d' /var/spool/cron/wyx
可以查看任务 crontab -l
---------------------
作者:wyx_wyl
来源:CSDN
原文:https://blog.csdn.net/wyx_wyl/article/details/78307984
版权声明:本文为博主原创文章,转载请附上博文链接!
网友评论