Ubuntu服务器定时执行Python脚本

  • 一、使用xshell登陆服务器并传输文件
  • 二、使用crontab定时执行Python脚本


一、使用xshell登陆服务器并传输文件

  1. 使用xshell登陆Ubuntu服务器
  2. 输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行安装命令
yum   -y  install  lrzsz
  1. 安装成功后输入rpm命令确认是否安装成功
  2. 使用rz -y命令会弹出文件上传窗口进行文件上传
  3. 此处我们将文件打包成rar压缩文件上传,故上传后需要解压。默认安装的ubuntu无法解压rar文件。故需要安装rar压缩与解压工具。
sudo apt-get install rar 安装
sudo apt-get remove rar 卸载
  1. 然后解压文件
rar x FileName.rar 解压
rar a FileName.rar DirName 压缩

二、使用crontab定时执行Python脚本

  1. 在Python脚本的开头加上下面一行
#!/usr/bin/python3.6

上面这行的作用是说明使用那个解释器来执行该文件,如果不知道python解释器在哪,可以使用命令which python来查看

  1. 给该文件添加可执行文件
chmod +x test.py 
chmod 777 test.py 或者直接权限全开
  1. 添加计划任务
crontab -e

编辑cron文件,添加一行命令

00 8  * * * /usr/bin/python3.6 /Yourpath/test.py >> /Yourpath/testcrontab.log 2>&1
  1. cron文件语法如下:
分     小时   日       月       星期     命令
0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)

可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件

具体格式如下:

Minute	Hour Day Month Day of week   command
  分钟   小时  天   月     天每星期       命令

每个字段代表的含义如下:

Minute            每个小时的第几分钟执行该任务
     Hour              每天的第几个小时执行该任务
     Day               每月的第几天执行该任务
     Month             每年的第几个月执行该任务
     DayOfWeek         每周的第几天执行该任务
     Command           指定要执行的程序
记住几个特殊符号的含义:
	"*"代表取值范围内的数字,
	"/"代表"每",
	"-"代表从某个数字到某个数字,
	","分开几个离散的数字
  1. 查看脚本执行情况
>> /Yourpath/testcrontab.log 2>&1
该语句表示将标准输出与错误输出重定向到/Yourpath/testcrontab.log文件中。可以查看运行定时脚本运行信息

输入命令,查看定时脚本执行情况

sudo less /var/log/cron.log

有一个坑需要注意:在脚本中涉及文件操作的需要写绝对路径。