在做定时操作关闭爬虫,并且开启爬虫中遇到的坑:
1.环境变量问题,因为crontab中默认的环境变量是系统的变量,不包含所需要执行的环境变量(解决方案是在shell脚本的第二行添加环境变量
#!/bin/bash
source /etc/profile
就像这样 其中还牵扯到一个问题 source not found 可以通过这样子解决⬇️
方案:
执行命令:source ./.bashrc 提示错误信息:-sh: 27: source: not found
ls -l which sh
提示/bin/sh -> dash
这说明是用dash来进行解析的。
改回方法:
命令行执行:sudo dpkg-reconfigure dash
在界面中选择no
再ls -l which sh
提示/bin/sh -> bash )
2.不能在运行环境中直接写sh 这样在关闭循环中的话 会出现关闭了额外的程序
附加循环关闭有关name的pid的shell代码
PROCESS=ps -ef|grep name|grep -v grep|grep -v PPID|awk '{ print $2}'
for i in $PROCESS
do
echo “Kill the $1 process [ $i ]”
kill -9 $i
done
方法是在外层文件夹建立sh(不包含爬虫的文件夹)然后在用这个sh来做定时任务即可
crontab定时命令中遇到的坑
最新推荐文章于 2024-04-12 11:38:50 发布