centos执行python脚本

CentOS下载pyhon

当pip下载失败,应该是版本太低了

此时需要升级pip:

# pip3执行
pip3 install --upgrade pip

# pip执行
pip install --upgrade pip

# 如果上面升级失败,可以试试
python -m pip install --upgrade --force pip
  • 解决方法1

如果在升级过程中报标题中的错误,则通过gt-pip.py文件进行安装(以python2.7为例):

# 先卸载安装的python-pip
sudo yum remove python-pip

# 下载get-pip.py文件
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python get-pip.py
  • 解决方法2

这种方法是在网上看到的,没有亲自试验,请自行尝试

# 如果安装了python2-pip或者python-pip,先卸载
yum -y remove python2-pip python-pip

# 安装python2-pip
yum -y install python2-pip

# 安装zabbix-api
pip install zabbix-api

Docker下载python

🌵挂载文件目录

自己的应用,或文件一定要放在宿主机上,使用-v 选项将宿主机的某个目录映射到容器的某个目录下,不然容器删除时,自己的应用及文件有可能会丢失。

/root/python 为宿主机目录,用来放python脚本

/usr/src/myapp 为python 容器内的目录

-w  选项 为-w, --workdir="", 指定容器的工作目录
[root@master python]# docker pull python:latest


[root@master python]# docker run -itd -v /root/python:/usr/src/myapp -w /usr/src/myapp --name python-latest python:latest
540cfd2fb470ef9ff0671323c82ecafc5de64150c3172f9d9ef048d1db27788c

CentOS 7定时执行python脚本

在CentOS下,可以使用crontab进行定时任务的处理。

一、crontab的安装

默认情况下,CentOS 7中已经安装有crontab,如果没有安装,可以通过yum进行安装。

yum install crontabs

  

二、crontab的定时语法说明

corntab中,一行代码就是一个定时任务,其语法结构可以通过这个图来理解。

img

字符含义如下:

* 代表取值范围内的数字``/ 代表``"每"``- 代表从某个数字到某个数字``, 代表离散的取值(取值的列表) 

  

一些常用的时间写法如下:

* * * * *   ``//每分钟执行``* */4 * * *  ``//每4小时执行``0 4 * * *   ``//每天4点执行``0 12 */2 * * ``//每2天执行一次,在12点0分开始运行``* * * * 0   ``//每周日执行``* * * * 6,0  ``//每周六、日执行``5 * * * *   ``//每小时的第5分钟执行

  

三、配置定时执行python脚本

由于是需要定时执行python脚本,所以应该使用如下命令:

python xxx.py

但是非常重要的一点是要用绝对路径写到命令,否则定时运行失败。因此我们需要先弄清楚python的具体路径。

参考之前写的一篇python安装的文章https://www.cnblogs.com/yangjisen/p/13171063.html,我们在服务器上有python2和python3两个版本,通过如下命令来查看其安装路径。

# which python //查看系统默认安装的python2的路径``/usr/bin/python``# which python3 //查看自行安装的python3的路径``/usr/bin/python3

  

用如下命令查看当前系统中的定时任务列表

# crontab -l

  

对crontab进行编辑

# crontab -e

  

在其中增加如下的内容(每小时的00分执行一个获取微信accesstoken的py脚本),注意python的版本用到了3

00 * * * * /usr/bin/python3 /usr/local/wechatapi/wechat_accesstoken.py

  

完成后,可以重启一下crontab的服务即可。

service crond restart 

  

我们在编写py脚本时也需要注意,其中如果有对文件进行操作,也应该使用绝对路径。

posted @ 2023-06-08 11:50  雨同我  阅读(360)  评论(0编辑  收藏  举报