华为云云服务器 - 设置 python 定时脚本 || 设置后台运行程序

本文介绍了如何在云服务器上进行操作,包括通过MobaXterm连接服务器,使用SCP命令上传文件,设置Cronjob定时运行Python脚本,并利用nohup在后台运行程序。此外,还讲解了如何查看Python版本,以及在不再需要任务时使用kill命令关闭进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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定时执行Python脚本

我们用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.youkuaiyun.com/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
<think>嗯,用户想要找关于服务器自动化搭建的脚本示例或教程。根据系统指令,我需要先确保回答符合格式要求,比如数学表达式用$...$,引用正确等等。首先,用户的问题涉及服务器自动化搭建,我需要从已有的引用中提取相关信息。 看用户的引用,引用[3]提到搭建自动化运维体系的服务器,步骤包括使用Ansible,并给出了安装和示例playbook。引用[5]提到使用CI/CD工具如Jenkins、GitLab CI等实现自动化部署。引用[4]有关于部署源码到服务器的步骤,可能相关。引用[2]和[1]涉及具体的脚本例子,比如Python的Selenium和PowerShell定时任务,可能可以作为示例提供。 接下来,我需要组织这些信息,分步骤说明,给出具体的脚本示例。比如,Ansible的playbook示例,Jenkinsfile,Python脚本,以及PowerShell的定时任务脚本。同时,按照用户的要求,生成相关问题,放在最后。 需要注意每个引用在回答中的引用标识要正确添加,比如在提到Ansible时引用[3],在CI/CD工具时引用[5],部署到服务器引用[4],PowerShell脚本引用[1],Python示例引用[2]。同时,确保所有代码块使用正确的语法高亮,比如bash、yaml、python等。 可能还需要检查是否有遗漏的信息,比如是否还有其他相关的引用内容可以利用。比如引用[3]还提到了源码,但用户主要需要的是搭建脚本,所以重点在自动化部署和配置管理部分。 最后,生成的相关问题需要围绕服务器自动化搭建的扩展,比如优化方法、结合CI/CD、安全加固、跨平台方案和监控集成。这些问题应该引导用户进一步探索。</think>根据您的需求,我为您整理服务器自动化搭建的脚本示例与教程资源,重点结合现有引用内容进行说明: ### 一、基础自动化脚本示例 #### 1. PowerShell自动化任务脚本(引用[1]) ```powershell # 创建每日6点运行定时任务 $Trigger = New-JobTrigger -Daily -At 6am $Action = { Start-Process powershell -ArgumentList "-File C:\Scripts\AutoDeploy.ps1" } Register-ScheduledJob -Name "DailyAutoDeploy" -Trigger $Trigger -ScriptBlock $Action ``` 该脚本通过Windows任务计划程序实现定时自动化部署[^1] #### 2. Ansible配置管理脚本(引用[3]) ```yaml # site.yml示例 - hosts: webservers become: yes tasks: - name: 确保Nginx已安装 apt: name=nginx state=present - name: 复制配置文件 copy: src: /etc/nginx/nginx.conf dest: /etc/nginx/ ``` 通过SSH实现多服务器批量配置管理[^3] ### 二、进阶自动化部署方案 #### 1. CI/CD流水线示例(引用[5]) Jenkinsfile片段: ```groovy pipeline { agent any stages { stage('Build') { steps { sh 'mvn clean package' } } stage('Deploy') { steps { sshagent(['server-credentials']) { sh 'scp target/*.jar user@server:/opt/app' sh 'ssh user@server "systemctl restart app-service"' } } } } } ``` #### 2. Python自动化测试集成(引用[2]) ```python from selenium import webdriver from selenium.webdriver.chrome.options import Options def server_health_check(): chrome_options = Options() chrome_options.add_argument("--headless") driver = webdriver.Chrome(options=chrome_options) driver.get("http://yourserver:8080/health") assert "OK" in driver.page_source driver.quit() ``` ### 三、推荐教程资源 1. **Ansible官方文档**:包含$YAML$语法教程和模块手册 2. **Jenkins Blue Ocean教程**:可视化流水线配置指南(引用[5]) 3. **云服务器自动化实践**(引用[2][3]): - 华为云云耀服务器自动化配置 - AWS CloudFormation模板编写 4. **机器人部署实战**(引用[4]): - 源码仓库配置`git clone https://github.com/xxx/auto-deploy.git` - 环境变量配置`.env`文件规范
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tfnmdmx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值