北京正规网站建设公司哪家好,成都企业模版网站建设,wordpress 替换字体,旅游做攻略网站好需要定时处理的场景还是比较多的#xff0c;比如信息推送、日志清理等。
这篇文章我们来说说如何使用cron来实现定时处理#xff0c;以及监控任务的执行。
使用
Ubuntu中使用cron#xff0c;要用到的命令是crontab。不加sudo时#xff0c;处理的是个人的定时任务。当加上…需要定时处理的场景还是比较多的比如信息推送、日志清理等。
这篇文章我们来说说如何使用cron来实现定时处理以及监控任务的执行。
使用
Ubuntu中使用cron要用到的命令是crontab。不加sudo时处理的是个人的定时任务。当加上sudo时处理的则是系统级别的定时任务。下面介绍一些常用的参数。
查看cron作业
crontab -l编辑crontab文件
crontab -e当执行这个命令时会看到建议使用的的编辑器列表 对于我来说使用vim够用了。
然后是编辑cron作业crontab文件中一行代表一个作业作业的格式如下
* * * * * command_to_be_executed其中
星号代表时间字段从左至右分别是分钟、小时、日期、月份、星期几。星号也可以替换为数字、星号表示任意值、逗号表示多个值和连字符表示范围。
监控
当我们设置了定时任务肯定要监控任务的执行状态。这个时候有比较多的选择。
不依赖外部组件的话我们可以将定时任务执行的日志保存到指定的日志文件中即使用如下的方式定义定时任务
0 3 * * * /path/to/myscript.sh /path/to/mylog.log 21也可以直接使用系统日志不进行配置查看系统日志的命令如下
cat /var/log/syslog | grep CRON如果想用外部组件则可以考虑使用Prometheus、Grafana等监控工具。 实例
比如我们需要每周五下午五点拉取阮一峰大佬的周刊文件可以首先编写一个脚本假定叫pull_weekly.sh
sudo vi pull_weekly.sh
写入内容
#!/bin/bashrepo_dir/usr/local/download/ruanyfif [ -d $repo_dir/.git ]; then# 如果目录存在且是一个Git仓库则执行git pullcd $repo_dirgit pull
else# 否则执行git clonegit clone https://github.com/ruanyf/weekly $repo_dir
fi然后我们建立文件夹并修改目录拥有者。注意我的当前目录是/usr/local/download
sudo mkdir ruanyf
sudo chown cy:cy /usr/local/download/ruanyf/
赋予脚本执行权限
sudo chmod x pull_weekly.sh
注意先执行一下验证执行是否OK。
添加定时任务
crontab -e添加一行内容
0 17 * * 5 /usr/local/download/pull_weekly.sh
然后定时任务将会按时执行
小结
在这篇内容中我们学习了cron命令的使用。常用的定时任务都可以用它来实现。