目标:在 centos 7 服务器上,使用 crontab 命令让系统在指定时间定时执行脚本
准备工作
- 一台 centos 7 服务器
- 在服务器上安装 git
- 事先编写好的脚本,并且已经部署到 github 上
为服务器安装 Python3 解释器
依次运行以下 11 条命令
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvJf Python-3.7.0.tar.xz
mkdir /usr/local/python3
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
验证是否成功
python3 -V
pip3 -V
将 github 上的项目克隆到服务器上
这里以将项目部署到服务器根目录下为例:
- 回到服务器根目录。
cd ~
- 运行 clone 命令。
clone [email protected]:用户名/项目名.git
此时项目已经存放在根目录下的项目名文件夹内了。
使用 crontab 命令定时执行脚本
- 使用 vim 打开 crontab , 如图所示。
crontab -e
- 编辑 crontab
在 crontab 中添加一行命令
10 0 * * * 绝对路径/pyhton3 绝对路径/项目名.py
关于 crontab 的详细介绍见 crontab命令教程
注意:不仅在 crontab 中文件名要取绝对路径,py 源文件中如出现路径也必须是完整的(在服务器上的)绝对路径
现在,在每天的 0:10 服务器就会自动运行 python 脚本了
如果脚本没有正常运行的话可以查看日志
tail -f /var/spool/mail/root
Loading Comments...