Ubuntu服务器定时执行Python脚本
- 一、使用xshell登陆服务器并传输文件
- 二、使用crontab定时执行Python脚本
一、使用xshell登陆服务器并传输文件
- 使用xshell登陆Ubuntu服务器
- 输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行安装命令
yum -y install lrzsz
- 安装成功后输入
rpm
命令确认是否安装成功 - 使用
rz -y
命令会弹出文件上传窗口进行文件上传 - 此处我们将文件打包成rar压缩文件上传,故上传后需要解压。默认安装的ubuntu无法解压rar文件。故需要安装rar压缩与解压工具。
sudo apt-get install rar 安装
sudo apt-get remove rar 卸载
- 然后解压文件
rar x FileName.rar 解压
rar a FileName.rar DirName 压缩
二、使用crontab定时执行Python脚本
- 在Python脚本的开头加上下面一行
#!/usr/bin/python3.6
上面这行的作用是说明使用那个解释器来执行该文件,如果不知道python解释器在哪,可以使用命令which python来查看
- 给该文件添加可执行文件
chmod +x test.py
chmod 777 test.py 或者直接权限全开
- 添加计划任务
crontab -e
编辑cron文件,添加一行命令
00 8 * * * /usr/bin/python3.6 /Yourpath/test.py >> /Yourpath/testcrontab.log 2>&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 指定要执行的程序
记住几个特殊符号的含义:
"*"代表取值范围内的数字,
"/"代表"每",
"-"代表从某个数字到某个数字,
","分开几个离散的数字
- 查看脚本执行情况
>> /Yourpath/testcrontab.log 2>&1
该语句表示将标准输出与错误输出重定向到/Yourpath/testcrontab.log文件中。可以查看运行定时脚本运行信息
输入命令,查看定时脚本执行情况
sudo less /var/log/cron.log
有一个坑需要注意:在脚本中涉及文件操作的需要写绝对路径。