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

liftword2个月前 (03-05)技术文章16

简介

在上一节中,我们介绍了使用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中执行shell命令的几个方法小结!很实用,帮助很大

最近有个需求就是页面上执行shell命令,第一想到的就是os.system,os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了。...

Python 基础教程 九之cron定时执行python脚本

前言在Linux或Unix系统中,你可以使用cron任务来定时执行Python脚本。cron是一个基于时间的作业调度器,允许你安排命令或脚本在系统上自动执行。安装cron大多数Linux发行版默认安装...

Python 42个基本命令,开启编程新世界大门

一文带你吃透 Python 42 个基本命令,小白必看!作为一名编程界的 “老司机”,我深知 Python 在编程领域的重要地位。它就像一把万能钥匙,能开启无数扇通往不同应用领域的大门,无论是数据分析...

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

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

Python实现轻量级数据库引擎(续)——新增“事务功能”

喜欢的条友记得关注、点赞、转发、收藏,你们的支持就是我最大的动力源泉。前期基础教程:「Python3.11.0」手把手教你安装最新版Python运行环境讲讲Python环境使用Pip命令快速下载各类库...

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

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