前言

最近我发现博客上的朋友圈服务挂了,折腾了半天也没搞清楚什么问题,一直返回{“detail”: “not found”},重启服务器上的Friend-circle服务也没用,还是老样子。日志里找不到任何错误信息,于是我决定换个其他的Friend-circle服务。最终我在GitHub上找到了LiuShen作者的Friend-Circle-Lite项目。这款项目相较于我之前用的,轻量化程度高,占用资源少,部署也非常简单。不过这篇文章主要想介绍的是这个项目中用到的CronTab工具,其他部署的内容就不展开了,有兴趣的话可以去GitHub了解更多,链接在这:https://github.com/willow-god/Friend-Circle-Lite

1、CronTab

在原始项目中,作者使用的是宝塔面板,可以手动添加任务,但我这次在阿里云的ECS上,只能用命令行来操作。

1.1、服务基本用法

1
2
3
4
5
service crond start    //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态

image1

1.2、CronTab基本语法

crontab [option] [parameter]

option:

1
2
3
4
-e:编辑该用户的计时器设置;
-l:列出该用户的计时器设置;
-r:删除该用户的计时器设置;
-u<用户名称>:指定要设定计时器的用户名称。

1.3、CornTab添加定时任务

1)列出已有定时任务

1
crontab -l

这个命令会列出当前用户的所有定时任务,如果没有任务就会显示为空。
image2

2)编辑CronTab

1
crontab -e 

这个命令会打开当前用户的CronTab文件,我们可以在里面添加、修改或删除定时任务。定时任务的格式为:Cron表达式 + 命令/执行脚本
image3

3)删除CronTab

1
crontab -r

使用该命令会将当前用户下的所有定时任务彻底删除,所以还请谨慎使用!

1.4、CronTab的日志调试

添加定时任务后,我们可能想知道它的执行情况,这时候就需要查看CronTab的日志了。一般来说,日志的路径是:/var/log/cron
image4
从图中可以看到定时任务的执行时间和脚本,这样我们就能验证它是否生效。

结语

在Linux系统中,crontab是一个非常方便的工具,可以减少很多手动操作,提高工作效率。不过使用时也得小心,避免占用过多的服务器资源,影响其他服务的运行。