精华内容
下载资源
问答
  • 前几日做了一个python脚本用于每天疫情签到。想试着用服务器每天定点运行。 折腾了一天,算是成了,给大家分享一下踩坑,尤其时Crontab!! 服务器设置 首先,我们使用钞能力搞一台服务器,不管是华为、腾讯、阿里的...

    生命不息,折腾不止。
    前几日做了一个python脚本用于每天疫情签到。想试着用服务器每天定点运行。
    折腾了一天,算是成了,给大家分享一下踩坑,尤其时Crontab!!

    服务器设置

    首先,我们使用钞能力搞一台服务器,不管是华为、腾讯、阿里的服务器价格都差不多。在这里我选了腾讯的。安装Ubuntu 20.04 LTS:
    在这里插入图片描述
    按照腾讯说明配置好SSH后使用putty登录服务器:
    在这里插入图片描述
    使用python3 --version系统已经内置了python3.8.5:
    在这里插入图片描述
    但是没装pip3:

    sudo apt-get install python3-pip
    

    在这里插入图片描述

    至此环境配置完成

    代码执行尝试

    首先将代码上传至/home/ubuntu目录下,我们可以使用WinSCP上传文件。为了更方便的调试代码,可以使用Pycharm远程连接调试。但代码每次都无法同步,还是建议本地调试好直接上传。
    我的代码分为两个脚本,runer.py和login.py。runer.py为入口,依赖login.py。我们尝试使用命令执行:

    python3 runer.py
    

    发现缺少lxml及相关包,使用pip3安装:

    sudo pip3 install lxml
    ...
    

    这里有一个天坑!不要用pip3 install lxml,这样在正常情况下也能用,用python3 *.py可以执行,但是crontab执行会有问题!

    Crontab调试

    crontab很难伺候,不管是环境还是脚本地址都需要绝对路径,因此我们使用一个.sh文件作为入口:

    #start.sh文件,位于/home/ubuntu/sign/下
    cd /home/ubuntu/sign
    python3 runer.py >> hist
    

    首先跳入我们的脚本地址,这样就不会出找不到脚本了。
    注意,一定要指定python解释器版本,如果你有两个python3,你需要指定到python的位置!
    crontab没有输出窗口,因此我们可以把代码中print的内容保存在同级目录中的hist文件。

    接下来配置crontab。首先打开crontab设置界面:

    sudo crontab -e
    

    配置格式可参见https://www.runoob.com/w3cnote/linux-crontab-tasks.html

    在这里,建议打开日志记录,自带日志需要配置syslog,且不会记录执行出错的内容,例如python找不到包之类的错误,因此建议自己配置日志输出
    我配置的结果:

    00 08 * * * sudo bash /home/ubuntu/sign/start.sh > /home/ubuntu/sign/sign_log 2>&1 &
    

    意思是每日早上8点执行,错误日志输出至同级的目录的log文件。
    在调试时我们可以设置一个每分钟执行一次的任务:

    */1 * * * * sudo bash /home/ubuntu/sign/start.sh > /home/ubuntu/sign/test_log 2>&1 &
    

    重启crontab:

    sudo service cron restart
    

    观察日志文件是否有异常,或者没生成日志文件。
    现在讲一下这个天坑!用pip3和sudo pip3安装包的区别:
    我弄好之后,发现我的脚本无法执行,于是我添加了一个test.py的命令,输出一行字到hist文件中,test可以执行。查看log发现是没找到lxml包,WTF我不是安装了吗,于是,我手动执行了该任务,也就是.sh文件里的:

    python3 runer.py >> hist
    

    没错,能执行,很多网上的教程告诉我们说是python解释器不对,crontab默认的是usr/bin下面的。没错,很多错误都是这个原因,但这个不同,我用的就是usr/bin/python3。于是我查看了python3:

    python3
    >>>import lxml
    

    发现可以导入,但是crontab不行!
    我们继续输入:

    >>> import sys
    >>> sys.path
    

    得到依赖包的位置集合:

    ['', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', 
    '/home/ubuntu/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/dist-packages',
    '/usr/local/lib/python3.8/dist-packages/cloud_init-20.1-py3.8.egg',
     '/usr/lib/python3/dist-packages']
    

    看看lxml包位置:

    import lxml
    print(lxml)
    

    发现包的位置在/usr/.local/lib/…下。如果我们用sudo执行,必须在usr/local/…才对!
    重新用sudo安装lxml,成功运行!

    展开全文
  • dockerfile部署python脚本

    千次阅读 2020-02-21 16:17:41
    部署单独的脚本需要单独的文件夹 3个脚本3个单独文件夹,每个文件夹的格式: 脚本py dockerfile文件 requirements.txt文件 所需要其他py dockerfile文件内容: FROM python:3.7.0 MAINTAINER DHSB_WANG COPY ...

    服务器配置环境

    • 安装docker
    • 安装python
    • 安装mongodb

    部署单独的脚本需要单独的文件夹
    3个脚本3个单独文件夹,每个文件夹的格式:

    • 脚本py
    • dockerfile文件
    • requirements.txt文件
    • 所需要其他py

    dockerfile文件内容:

    FROM python:3.7.0
    MAINTAINER DHSB_WANG
    COPY requirements.txt ./
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    CMD ["./predict.py"]
    
    

    打包生成对应的脚本镜像执行

    • cd对应文件夹根目录
    • docker build -t 镜像名 .(.指的是所有文件)
    • 启动docker镜像
      docker run -it 镜像ID 可能提示权限不够无法启动,则使用交互式启动
      docker run -it 镜像ID /bin/bash
    • 进入交互后python name.py启动脚本执行

    删除镜像:先删除container在删除镜像

    • 删除镜像命令:docker rmi 镜像ID,如果有提示未删除的container,则对应删除container
    • 删除container命令:docker rm containerID
    展开全文
  • 部署阿里云ECS服务器运行python脚本

    千次阅读 2019-08-28 23:12:45
    1. 购买阿里云ECS服务器(选HK) 2. ssh root@ip 登入 3. 安装anaconda虚拟环境 4. git上传项目 5. 运行python脚本

    1. 购买阿里云ECS服务器(选HK)

    2. ssh root@ip 登入

    3. 安装anaconda虚拟环境

    4. git上传项目

    5. 运行python脚本

     

    展开全文
  • 操场 用于部署服务器和工作站的Python脚本
  • 目录 目录 0、写在前面 1、远程连接,文件上传下载 ...之前使用的是windows的服务器,后来换成了ubuntu系统,当然期间遇到了许多坑。但还是阿里做了一些简单有趣的事情,在此把相关操作指令记录一下。大致...

    目录

    0、写在前面

    之前使用的是windows的服务器,现在换成了ubuntu系统。很多操作使用命令不清楚,期间遇到了许多坑,网上查了不少。但还是实现了一些简单的事情,在此把相关操作指令记录一下。
    大致为以下几部分
    使用远程连接,文件上传和下载;
    部署简单的静态网页,直接使用公网IP进行访问;
    7*24小时运行脚本–运行爬虫(使用Scrapy框架),运行微信防撤回脚本;
    延伸 ……

    1、远程连接,文件上传下载

    关于windows连接linux服务器的方式有很多,在此,介绍使用PuTTy进行远程连接,同时使用PuTTy自带的PSFTP进行文件上传下载,和使用WinSCP进行文件上传下载。

    1.1、PuTTy

    使用PuTTy连接
    直接从官网下载安装。
    输入公网IP和端口,进行连接;可以使用Saved Sessions将这个对话保存,下次就不用再输入IP;
    这里写图片描述
    然后使用用户(阿里云初始为root)和密码登陆(阿里云要求密码首位大写)
    这里写图片描述

    使用PSFTP进行文件操作
    cd改变远程目录、lcd改变本地目录、ls查看远程文件列表、put上传文件、get下载文件等命令
    cd, lcd操作同ubuntu中cd操作相同;put, get file即可上传下载文件;
    这里写图片描述

    参考:putty windows上传文件到linux服务器 & 从linux服务器 下载文件到 windows

    1.2、WinSCP

    简直堪称神器,可以直接拖拽文件进行上传和下载。
    直接在官网下载安装
    使用用户和密码登陆即可
    这里写图片描述
    可以直接在左右将文件进行拖拽,也可以点击操作进行文件夹的创建和文件删除操作。

    2、部署静态网页

    在此使用Apache2部署网页
    首先在服务器上 配置Apache将网页放在var/www/html下,其中index页必须直接在该目录下;
    然后执行下面命令,就可以使用公网IP访问网页了

    sudo /etc/init.d/apache2 start

    也可以停止或重启Apache2

    sudo /etc/init.d/apache2 stop
    sudo /etc/init.d/apache2 restart

    3、运行脚本

    主要是关于python脚本的运行命令,以及查看执行状态命令,在网上查了不少,在此记录

    3.1、微信防撤回脚本

    参考用python实现微信消息防撤回代码即可
    (有一个问题就是,该脚本时登陆的网页微信,如果此时登陆电脑微信,则网页微信被挤退,程序结束)
    将代码文件上传到服务器,然后在该目录下执行下面操作即可(执行script.py文件,将运行结果输出到日志out.log

    nohup python -u script.py > out.log 2>&1 &

    使用下面命令查看运行状态,可以找到运行程序的PID,也可以kill程序,结束进程

    ps -ef | grep python 

    下面操作可以查看磁盘文件大小

    du -h filename #look the size of the file
    du -ha address #look the size of this address
    du -sh
    3.2、Scrapy爬虫脚本

    爬虫脚本上一篇博客讲到过,这里只讲脚本的运行;
    有一个坑,就是在pycharm中的目录是以工作空间为根目录,所以在服务器上执行时,需要更改一下import的目录
    执行爬虫脚本的命令如下,后台运行,结果输出到out.log

    nohup scrapy crawl DingDian > out.log 2>&1 &

    4、…

    有了上面的简单操作,当然可以延伸更多,尤其是运行脚本程序
    有些计划
    爬取一些有用的信息(实现rss推送更实用的信息,做一些简单整合);然后用flask搭建一个简单的网站,可以简单的展示爬取的信息,并进行一些简单的交互;爬取大数据,结合深度学习进行一波分析,预测之类 …
    学无止境,任重而道远

    展开全文
  • 在LINUX服务器后台运行python脚本

    千次阅读 2017-09-27 15:51:44
    在LINUX服务器后台运行python脚本部署后台运行并输出信息到文件命令详解具体的参数含义如何关闭不可见进程–后台进程初入linux, 借鉴大神文章,供以后查看与学习。
  • 服务器运行python脚本,如果你按了ctrl+c或者关闭了这个ssh终端 你的这个脚本就会停止!所以你需要以后台程序的方式执行 你的这个Python脚本,可以使用nobup命令。 键入这样的命令: nohup python3 -u xxx.py > ...
  • 最近接手一个python爬虫,使用aiohttp + beautifulsoup4 + redis简单实现,任务保存在redis中队列,故如果要提高爬取效率可通过部署多个节点实现,现有多台服务器,于是写了如下管理脚本,实现批量更新代码,全部...
  • 工作中跑批量测试,由于数据量大,比对次数较多,网络不好情况下容易报错,这时可以把跑批脚本放到服务器去跑,可解决上述问题,而且速度比本地跑的更快,如下是我的经验分享 一、pycharm连接linux服务器脚本更新...
  • 服务器部署之nohup与程序的后台运行 1.后台启动程序 nohup Command [ Arg … ] [ & ] # nohup命令 参数可选但不是必须的,又需要看文档既可 # 举例 # 在后台运行 main.py的python脚本 nohup python main.py &...
  • python脚本部署为Windows服务 基础需求环境:python环境(不会安装建议ctrl+w, 你已经退出接下来的教程了)windows环境(需要了解环境变量的配置和服务位置) 好了,开始吧。 首先需要在你的python环境里安装一个...
  • 今天小编就为大家分享一篇Linux部署python爬虫脚本,并设置定时任务的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 去年因项目需要,用python写了个爬虫。因爬到的数据需要存到生产环境的...
  • 文章首发于个人站点 Python 服务器端实现定时自动给女票发送贴心消息提醒 | 梦家博客...本文解决将脚本部署服务器上实现每日定时自动发送微信消息提醒! 功能及消息内容 源码已公开至Github:dreamhomes/daily-lov...
  • jenkins自动化部署发布python脚本

    千次阅读 2019-01-02 20:59:16
    首先确定安装jenkins的服务器页安装好python相关环境,这个可以参考:https://blog.csdn.net/weixin_42357472/article/details/85562566 1.新建工程 2.工程创建流程 首先要写一个工程名称,这个进来不要留空格,这...
  • 检测服务器python版本脚本

    千次阅读 2017-06-20 16:15:30
    检测服务器python版本是否在2.7范围内,不在2.7范围内则一键安装替换python版本为2.7.4 脚本内容如下: #!/bin/bash # written by wzq # date:2017-06-20 touch /mapbar/src/python_version.txt python --version...
  • 今天介绍一个生产级的流程管理工具 PM2,通常我们说到 PM2 的时候,都是在说如何部署 Node.js...这里就以 Python 举例子,来看看 PM2 如何部署管理 Python 脚本。 更多Python视频、源码、资料加群683380553免费获取...
  • 原文地址:在安卓上部署服务器 - 部署脚本和博客 本系列其他文章: 在安卓上部署服务器在安卓上部署服务器 - 应用程序的配置在安卓上部署服务器 - 解决内网穿透问题在安卓上部署服务器 - 部署脚本和博客     0....
  • 一篇文章教你 如何在阿里云服务器上定时执行Python脚本
  • 本篇文章以一段 Selenium 编写的 Python 自动化程序,聊聊脚本部署服务器的详细过程 操作步骤 以 CentOS 服务器为例 2-1安装桌面环境 PS:如果已经安装,可以跳到下一步 我们需要先安装一个桌面环境「以GNOME ...
  • Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件)、 glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 ...
  • 一个服务器部署脚本

    千次阅读 2016-11-22 02:26:22
    之前的脚本所做的仅仅是从 git 上pull下代码,然后编译打包部署服务器。这里有一个问题就是:我们的静态文件是放到 cdn 上的,公司之前一贯的做法是在本地修改的时候,引用本地的静态文件,在修改完毕后,手动再改...
  • python脚本案例-python脚本范例

    千次阅读 2020-10-30 00:43:22
    【伯乐在线导读】:有网友在 quora 上提问,「你用 python 写过最牛逼的程序脚本是什么? 」。本文摘编了 3 个国外程序员的多个小项目,含代码。 manoj memana jayakumar, 3000+ 顶更新:凭借这些脚本,我找到了工作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,761
精华内容 19,504
关键字:

服务器部署python脚本

python 订阅