crontab定时命令中遇到的坑

在做定时操作关闭爬虫,并且开启爬虫中遇到的坑:
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来做定时任务即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值