Ubuntu18.04 LTS版本,实现python脚本每天定时启动

Ubuntu18.04 LTS版本,实现python脚本每天定时启动,技术路线:crontab+shell脚本+conda+python

crontab配置

这玩意在Ubuntu系统上一堆问题,最关键的问题:设置log发送邮箱
下面一步一步来:

新建测试python和bash脚本:

python脚本:
-> python这里没什么要注意的,和正常用法一样。
在这里插入图片描述

bash脚本:
-> bash脚本这里就要注意啦,整体构成包含两个部分:
——>1、conda 的环境单独设置
——>2、运行python脚本
下面详细讲一下:
在这里插入图片描述
第一部分:conda环境是用来给conda命令定向用:
——在配置文件~/.bashrc中,可以使用下面命令查看你的conda环境,把conda相关的复制过来就ok啦:

vim ~/.bashrc

第二部分:如果使用crontab,所有的路径最好使用绝对路径,如/home/ubuntu/…/test.py。使用相对路径会出现找不到文件的问题。

crontab设置

准备工作做完了!下面就来到正题了,借助crontab我们可以实现定时启动脚本,crontab是linux系统自带的,一般不需要单独安装,但在Ubuntu系统下还是有很多坑的,需要提前填填好:
配置crontab:
第一步:Ubuntu自带crontab,但其日志功能默认关闭,而crontab又不会在终端显示输出,所以我们在开始之前要先开启crontab日志,方便我们后期调试。

#用vim打开日志系统配置文件
vim /etc/rsyslog.d/50-default.conf
#找到cron.*这一行,删掉最前面的#号,如图。
#下面重启一下日志功能就ok啦
service rsyslog  restart

在这里插入图片描述

第二步,配置一下crontab的启动任务

crontab -e #配置任务

#第一次打开会提示选择编辑器,根据自己喜好选择一个就ok

在这里插入图片描述
这里红色框框是设置时间,分别是分钟、小时、天、月、周
其中号是不限制,如图中21 21 * * * 只限制了21分钟和21小时,也就是每天21:21分启动,具体其他语法大家百度一下,详细介绍的文章很多。
下一步就到绿色框框,这个大家一定要加上去,实测不加的话,log文件中会报错没有权限报错:Permission denied
黄色框框前半部分很简单,bash文件的绝对路径,后半部分意思是所有输出:echo和print这些在终端显示的输出,全部写入到>>/…/…/
.txt这个txt文件中,因为crontab没有输出显示,所有我们给他设置了一个log文件,这个log文件用来记录bash和py文件的运行情况。

第三步:设置邮箱
crontab默认把所有信息通过邮箱发送,它找不到能发送的邮箱就会报错终止。
所以我们安装邮箱服务,让它有地方输出:

#安装postfix
sudo apt-get install -y postfix
# 在新界面选择并回车,其他一律默认就好
Internet Site

这样corntab就会把信息输出到文件中,默认是/var/mail/用户名
我们用下面命令就可以查看啦,不过你看见它给你发mail了 ,就说明它报错啦!!
在这里插入图片描述

cat /var/mail/用户名

至此,所有的设置工作全部完成,下面就没有坑了。
使用命令:

#运行cron
service cron start
#查看cron运行情况
service cron status
#关闭cron
service cron stop
#重启cron
service cron restart

运行成功是没有特别显示的,我这里显示这么多,是因为我没用root账户,它找我要密码来着,只要用cron查询发现正常运行,mail文件没有新错误出现,那说明就ok啦
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值