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

liftword1周前 (03-05)技术文章4

简介

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

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

如何在 Python 中执行外部命令 ?

Python 是一种强大的编程语言,可以帮助自动执行许多任务,包括在 Linux 系统上运行命令。在本指南的最后,您将能够使用 Python 轻松有效地执行 Linux 命令。使用 os 模块os 模...

Python 中的一些命令行命令

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

入门必学25个python常用命令

以下是 Python 入门必学的 25 个常用命令(函数、语句等):基础输入输出与数据类型print():用于输出数据到控制台,例如print("Hello, World!")。input():获取用...

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

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