当前位置:   article > 正文

Ubuntu18.04 LTS版本,实现python脚本每天定时启动_ubuntu 定时任务 执行python脚本

ubuntu 定时任务 执行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
  • 1

第二部分:如果使用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
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

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

crontab -e #配置任务
  • 1

#第一次打开会提示选择编辑器,根据自己喜好选择一个就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
  • 1
  • 2
  • 3
  • 4

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

cat /var/mail/用户名
  • 1

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

#运行cron
service cron start
#查看cron运行情况
service cron status
#关闭cron
service cron stop
#重启cron
service cron restart
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/75524?site
推荐阅读
相关标签
  

闽ICP备14008679号