赞
踩
这玩意在Ubuntu系统上一堆问题,最关键的问题:设置log发送邮箱
下面一步一步来:
python脚本:
-> python这里没什么要注意的,和正常用法一样。
bash脚本:
-> bash脚本这里就要注意啦,整体构成包含两个部分:
——>1、conda 的环境单独设置
——>2、运行python脚本
下面详细讲一下:
第一部分:conda环境是用来给conda命令定向用:
——在配置文件~/.bashrc中,可以使用下面命令查看你的conda环境,把conda相关的复制过来就ok啦:
vim ~/.bashrc
第二部分:如果使用crontab,所有的路径最好使用绝对路径,如/home/ubuntu/…/test.py。使用相对路径会出现找不到文件的问题。
准备工作做完了!下面就来到正题了,借助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啦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。