Python 基础教程十之设置cron作业在bash sh文件中执行python脚本

liftword3个月前 (03-05)技术文章25

简介

在上一节中,我们介绍了使用cron作业定时执行python脚本。这一节我们介绍使用bash sh文件执行批量python脚本。先回顾一下cron内容:

设置cron作业是一种在Linux系统中定时执行任务的方法。cron是一个用于在预定时间执行命令或脚本的工具。下面是完善且全面的答案:

概念:

cron是一个在Linux和类Unix系统中用于执行预定任务的工具。它允许用户在指定的时间间隔内自动执行命令或脚本。cron作业可以设置为每分钟、每小时、每天、每周或每月执行。

分类:

cron作业可以分为系统级别的和用户级别的。系统级别的cron作业由系统管理员设置,而用户级别的cron作业由普通用户设置。

优势:

  1. 自动化任务:cron作业可以自动执行,无需人工干预,提高工作效率。
  2. 灵活性:可以根据需求设置不同的时间间隔和执行频率。
  3. 可靠性:cron作业在系统后台运行,即使用户不登录系统也能正常执行。
  4. 轻量级:cron是系统自带的工具,占用系统资源较少。

应用场景

  1. 定时备份:可以使用cron作业定时执行备份脚本,保护重要数据。
  2. 数据清理:可以定期清理过期的日志文件、临时文件等。
  3. 定时任务调度:可以定时执行一些重复性的任务,如数据同步、数据导入等。
  4. 系统监控:可以定时执行监控脚本,检查系统状态并发送报警信息。

常见的时间格式示例

  • 每天的午夜(00:00)执行:0 0 * * * command
  • 每小时的第30分钟执行:30 * * * * command
  • 每天下午3点执行:0 15 * * * command
  • 每周一的上午9点执行:0 9 * 1 * command
  • 每月1号和15号的午夜执行:0 0 1,15 * * command。

场景介绍

我们有几个定时执行的任务,需要每隔3分钟 或 5分钟执行。

每隔3分钟执行的任务如:task3_1.py、task3_2.py

每隔5分钟执行的任务如:task5_1.py、task5_2.py

创建3分钟 和 5分钟执行的bash sh:cron_3m.sh、cron_5m.sh。

task3_1.py 代码

#!/usr/bin/python3

print("Hello world ,task3_1 !")

cron_3m.sh 代码

#!/bin/bash

echo "开始执行3m任务"

/usr/bin/python3 /home/test/task3_1.py
echo "==> run task3_1-3m  at `date '+%H:%M:%S'` "

/usr/bin/python3 /home/test/task3_2.py
echo "==> run task3_2-3m  at `date '+%H:%M:%S'` "

cron_5m.sh 代码

#!/bin/bash

echo "开始执行5m任务"

/usr/bin/python3 /home/test/task5_1.py
echo "==> run task5_1-5m  at `date '+%H:%M:%S'` "

/usr/bin/python3 /home/test/task5_2.py
echo "==> run task5_2-5m  at `date '+%H:%M:%S'` "

配置cron

使用crontab -e命令编辑当前用户的Cron作业。对于系统级别的作业,可以使用sudo crontab -u username -e

[root@VM-0-196-tencentos www]# crontab -e

*/3 * * * * /home/test/cron_3m.sh >> /home/test/logfile.log 2>&1
*/5 * * * * /home/test/cron_5m.sh >> /home/test/logfile.log 2>&1

相关文章

Python 命令行工具 python 的常用参数执行命令

作为 Python 的初学者,最不缺见的就是命令行工具 python 的执行命令了,每每遇到就可能去查资料帮助,同样,自己也会不时的需要某些执行命令来完成自己的需求,鉴于此我对 python 工具的执...

Python 中的一些命令行命令

虽然 Python 通常用于构建具有图形用户界面 (GUI) 的应用程序,但它也支持命令行交互。命令行界面 (CLI) 是一种基于文本的方法,用于与计算机的操作系统进行交互并运行程序。从命令行运行 P...

python散装笔记——109: 解释器(命令行控制台)

1: 获得一般帮助如果在控制台中调用 help 函数而不带任何参数,Python 就会显示一个交互式帮助控制台,您可以在其中找到有关 Python 模块、符号、关键字等的信息。>>>...

Linux系统下使用crontab命令定时执行任务

基本命令[ crontab -e ] - 打开vi编译器,输入要执行的命令[ crontab -l ] - 查看所有已执行的任务[ crontab -r ] - 删除所有执行任务查询任务执行日志[ c...

python常用命令及操作语句

常用操作脚本1.查看python安装包命令pip3 list2.python 安装封装包命令pip3 install 包名# 例如:pip3 install numpy3.python安装tensor...

开门见山:Python的第一个程序

1、简要说明发自心底的热爱,并用你的注意力填满1000个小时就能练成任何你所需要的技能当我看到这句话的时候,震惊我好长时间。所以在学习接下来的内容之前有必要做个强调。自学是门手艺,没有自学能力的人没有...