crontab定时任务执行scrapyd爬虫
crontab系统自带的调度命令,通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
crontab服务的重启关闭,开启
$sudo /etc/init.d/cron start $sudo /etc/init.d/cron stop $sudo /etc/init.d/cron restart
crontab命令
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
命令参数
-u user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并导入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
使用-l参数列出crontab文件
crontab -l
使用-r参数删除crontab文件
crontab -r
删除文件后,定时任务不会在执行
crontab的文件格式
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列分钟0~59 第2列小时0~23(0表示子夜) 第3列日1~31 第4列月1~12 第5列星期0~7(0和7表示星期天) 第6列要运行的命令
追加 crontab 定时任务,每分钟触发,会已vim方式呈现
crontab -e
执行scrapyd爬虫命令
curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_spider
再次查看定时任务列表,可以看到定时任务已经添加
crontab -l
bash-3.2$ crontab -l * * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_spider * * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_tv_spider * * * * * curl http://localhost:6800/schedule.json -d project=xinchen -d spider=douban_variety_show
导入预先编好的脚本文件
一般来说,crontab用-e调出vi来编写,但是在实际工作中经常有这种情况是,编程好了crontab文件,需要导入到生产机器上去。
crontab filename
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~