如何在服务器(Linux)里面定时(crontab)执行需要虚拟环境(venv)的代码(爬虫)

来源:互联网 发布:阿里云smtp不能发邮件 编辑:程序博客网 时间:2024/05/17 02:51

需要crontab 加sh (其实我对这两个也不太熟,对sh更不熟,但是发现还挺好用的)
crontab的使用时terminal下:
crontab -e进入(如果之前没有用过会让你先选择一个编辑器,个人觉得系统推荐的那个(序号是2)就挺好用的)
然后移动到最下面(类似vi编辑器一样的使用方法)
输入命令(这里的命令网上太多教程了,就不一一赘述了)

* * * * * /home/xxx/xxx/xxx/test1.sh >> /home/xxx/xxx/xxx/logging.log 2>&1

后面那个是2>&1是出现错误时(2)也像正常情况(1)写入log。
ps:xxx写上自己想在的路径就好了,没有特殊要求

第二步写sh脚本(推荐写绝对路径)

test1.sh

    #!/bin/bash    export PATH=$PATH:/usr/local/bin    echo -n "开始执行爬虫"    source /home/xxx/xxx/Testvenv/bin/activate    cd /home/xxx/xxx/xxx/xxx/xxx && scrapy crawl fba

因为手动执行sh和crontab执行sh的环境是不一样的,所有需要export PATH=$PATH:/usr/local/bin导入环境变量

就可以啦

阅读全文
1 0
原创粉丝点击