云服务器 - 设置 python 定时脚本
1.连接云服务器
我用的是 MobaXterm_Personal_21.3
之后输入账号密码进入
2.上传文件
可视化操作:
找个地方,将本地的py文件上传上去
命令行操作:
在本地命令行界面,使用scp命令将本地的py文件发送到 远程服务器
scp 本地文件地址 云服务器帐号@云服务器IP/域名:云服务器文件地址
scp jielong.py root@服务器ip:/home/py
3.设置定时运行
编辑定时任务
crontab -e
每天21点50分执行一次jielong.py文件,将输出内容保存至test.log
50 21 * * * python3 /home/py/jielong.py > /home/py/test.log 2>&1
1个>是输出重定向: 会覆盖原文件
>>是追加: 不会覆盖原来文件的内容,而是追加到文件的尾部。
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种
https://www.runoob.com/w3cnote/linux-crontab-tasks.html
写到一半,发现后台运行不是我要用的,写都写了,先留着吧
*设置程序后台运行
1.先查看下python版本:
2.设置程序后台运行:
nohup python3 jielong.py > jielong.log 2>&1 &
运行A.py程序,将其输出保存到文件名为fileA中,则使用如下命令:
nohup python A.py >fileA 2>&1 &
https://blog.csdn.net/qq_23128065/article/details/88257680
nohup是指运行命令,忽略挂起信号
&是指在后台运行,但当用户挂起时,命令自动也跟着退出。
将两者结合使用,才意味着将命令在后台永久的执行下去。
2>&1 2>代表错误重定向,&1代表标准输出,即表示错误重定向到标准输出
3.如果疫情结束不需要打卡的话,使用kiil命令关闭进程
jobs
kill %jobnum
通过jobs命令查看jobnum,然后执行 kill %jobnum
https://cloud.tencent.com/developer/article/1722018
查看后台运行的所有python 进程:
ps aux |grep python
关闭进程:
kill 进程id