发起http请求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #!/bin/sh file=log.txt echo 'start refresh crontab ....' >> $file echo $(date "+%Y-%m-%d %H:%M:%S") >> $file //输出每次执行时间 pm2 start spider //启动node 进程管理器 sleep 30 echo '--------------------------------' >> $file i=1 time=10 prefix='http://xxx.' while(($i<=6)) do url=$prefix$i; echo $url >> $file curl -X GET $url //curl 发起http请求 sleep $time echo 'sleep 30s done' >> $file i=$(($i+1)); //自增 echo '-----------------------------' >> $file echo $i done echo '----------------------' echo 'stop pm2 spider....' >> $file pm2 stop spider //停止node 进程管理器 echo 'stoped pm2 spider...' echo '-----------------------' >> $file
|
定时配置
- 编辑当前登录用户的定时任务
- 添加当前登录用户定时任务
1
| 15 6 2 1 * /home/melissa/backup.sh
|
- 查看当前用户的任务
- 移除当前登录用户定时任务
- 等待定时执行
crontab写法介绍
- 栗子
1 2 3
| 15 6 2 1 * /home/melissa/backup.sh | | | | | minute hour day month day of week
|
field |
allowed values |
minute |
0-59 |
hour |
0-23 |
day of month |
1-31 |
month |
1-12 |
day of week |
0-7 (0 or 7 is Sunday, or use names;) |
- 空行、tab、空格会被忽略
- #开头的也会被忽略
- cron 进程,每分钟检查一次定时任务列表
crontab栗子说明
- 每个工作日 10:30 P.M 运行
1
| 30 22 * * Mon,Tue,Wed,Thu,Fri /usr/local/bin/backup
|
- 每周一9点和18点运行
1
| 0 9,18 * * Mon /home/wendy/script.sh
|
- 每天9-18这段时间里每20分钟运行
1
| */20 09-18 * * * /home/carl/hourly-archive.sh
|
- 每月1,15且是周五,那天的4:30运行
1
| 30 4 1,15 * 5 /home/carl/hourly-archive.sh
|
- 每间隔1小时运行
1
| * 0-23/2 * * * /home/carl/hourly-archive.sh
|
- 每年1月的周一1点运行
1
| 01 00 * Jan Monday /home/melissa/backup.sh
|
默认是当前用户,可以指定特定用户的定时任务
1 2 3 4 5 6 7 8
| sudo crontab -u charles -e # 编辑特定用户charles的定时任务
sudo crontab -l -u charles # 查看特定用户的定时任务
sudo crontab -r -u charles # 删除特定用户的定时任务
|
那么在哪里可以定义这些限制呢
- /etc/cron.allow
- /etc/cron.deny
- /etc/cron.d/
- 通常直接使用crontab -e 编辑
服务命令
安装
命令
1 2 3 4 5
| crontab -u //设定某个用户的cron服务 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 crontab -e //编辑某个用户的cron服务 crontab -i //打印提示,输入yes等确认信息
|
生效
1 2 3 4 5 6 7 8 9 10 11 12 13
| /sbin/service crond start //启动服务 #or /bin/systemctl start crond.service /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 #or /bin/systemctl restart crond.service /sbin/service crond reload //重新载入配置
service crond status //查看状态
|
随机启动
1 2
| 方法一: 界面启动 ntsysv 方法二: 加入开机自动启动: chkconfig --level 35 crond on // systemctl enable crond.service
|
参考文献
本文作者:前端analysis
版权声明: 本文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏