Ubuntu22.04中定时执行任务(cron)设置
liuian 2025-05-23 18:31 42 浏览
做这个实验,主要涉及内容如下:
cronTest.py 待执行的python文件,代码会读入本地文件内容,并打印当前时间
cron_run.sh 将执行cronTest.py的语句,包装成shell
cron定时配置
本实验的设置是每3分钟,调用一次python程序,程序会打印执行时的时间。
cronTest.py
import os
import time
from datetime import datetime
current_dir = os.path.dirname(__file__)
#!!!必须用绝对路径,否则外部路径调用时,会找不到cronRead.txt
f_name="cronRead.txt"
f_name_abs=os.path.join(current_dir, f_name)
print(f_name_abs)
now = datetime.now()
print(now)
with open(f_name_abs, "r",encoding="utf-8") as f:
lines = f.readlines()
print(lines)这个程序读入python程序所在目录的cronRead.txt文件(必须用绝对路径,否则定期执行时,会找不到此文件)。并打印当前时间。
cron_run.sh
#!/bin/bash
/home/xx/miniconda3/envs/conda1/bin/python /home/xx/crontest/bjDetectSearch/cronTest.py 制作shell脚本,就是为cron配置时书写简便(也可以将上面的python调用,直接写到cron配置中)。python脚本是使用一个conda虚拟环境。
别忘给此shell脚本添加可执行权限:
chmod +x cron_run.sh
现在,可以拷贝cron_run.sh到任何位置,来尝试脚本执行是否正常了。
cron定时任务设置
- 切换到root权限
sudo -i
在root权限下,下一步crontab定时任务可以执行任何命令。如果在普通用户权限下,只能执行用户权限的程序。
- 定时任务编辑器
crontab -e 打开定时任务编辑器。如何是第一次使用,需选编辑器,第一项nano编辑器,相对比较好用。
如果选择的是nano,其快捷键示例: ^U -->ctrl+u M-E --->alt+e
ctrl+o 保存编辑结果(保存时有提示) ctrl+x 离开编辑器(如果设置的规则语法不正确,会有提示。可以重新进入修改)
将以下内容写入编辑器:
*/3 * * * * /home/zag/tmp/cron_run.sh >> /home/zag/tmp/cron_run.log 2>&1每隔3分钟运行一次cron_run.sh脚本,并把脚本程序的输出,保存到cron_run.log文件。
- 定时任务规则
每一行为一个定时任务,每行分为两部分:
定时 待执行命令行(绝对路径) 前面加上 #就是注释掉此行任务
定时规则:
定时分5个部分:分 时 日 月 周
也就是图中的提示: m h dom(day of month) mon dow(day of week) ,取值访问如下:
特殊字符:
*在分钟位置,就是每分钟都运行。在周位置,就是每周都运行。
,用来分割同一位置的多个值。比如在第一个分钟位置: 1,7,20 就是在这三个分钟,都运行
-表示一个范围。如1-5,设置在dom的位置,就是1日到5日。
/表示间隔。
本实验要每3分钟执行一次shell脚本
*/3 * * * * /绝对路径/cron_run.sh
每月1-10日0:0,每隔2天运行一次
0 0 1-10/2 * * /绝对路径/script.sh
每天凌晨 2 :0运行一次
0 2 * * * /绝对路径/script.sh
每小时的0分(整点)运行一次
0 * * * * /绝对路径/script.sh
每周一至周五的上午 8 点到下午 6 点,每隔 30 分钟运行一次
*/30 8-18 * * 1-5 /绝对路径/script.sh
每年 12 月 25 日早上 9 点运行
0 9 25 12 * /绝对路径/script.sh
?仅仅用于日期与星期位置。无特定值,也就是可以不考虑(仅仅是占位)。
每月15日0:0,不管是周几
0 0 15 * ? /绝对路径/script.sh
每周一0:0分,不管是几号
0 0 ? * 1 /绝对路径/script.shL仅仅用于日期与星期位置。表示一个月中最后一天或最后一个星期几
每月最后一天的午夜运行
0 0 L * * /绝对路径/script.sh
每月最后一个星期五0:0运行
0 0 ? * 5L /绝对路径/script.shW工作日。仅仅用于日期位置。
每月15日,如果15日不是工作日,则在最近的工作日0:0运行
0 0 15W * * /绝对路径/script.sh#仅仅用于星期位置。表示第几个星期的星期几
每月的第二个星期一0:0运行
0 0 ? * 1#2 /绝对路径/script.sh
每月的第三个星期的星期五0:0运行
0 0 ? * 5#3 /绝对路径/script.sh编辑完成,保存规则。
- 重启服务
systemctl restart cron 可以把cron服务重新启动一下。确保设置能加载。
systemctl status cron 确定一下cron的状态是否已经启动。
crontab -l 确定一下定时任务已经在定时表里
如果定时任务设置的是
*/3 * * * * /home/zag/tmp/cron_run.sh >> /home/zag/tmp/cron_run.log 2>&1可以执行:
cat /var/log/syslog |grep /home/zag/tmp/cron_run.sh
等待几分钟后,执行上面命令,可以看到类似下面的内容(表示能定时调用):
Apr 25 21:33:01 aipcU1 CRON[10540]: (root) CMD (/home/zag/tmp/cron_run.sh >> /home/zag/tmp/cron_run.log 2>&1)
Apr 25 21:36:01 aipcU1 CRON[10708]: (root) CMD (/home/zag/tmp/cron_run.sh >> /home/zag/tmp/cron_run.log 2>&1)/home/zag/tmp/cron_run.log
/home/zag/SqlObjDetectToMilvus/ObjDetectSearch/cronRead.txt
2025-04-25 21:33:01.589393
['hello cron read!!!\n']
/home/zag/SqlObjDetectToMilvus/ObjDetectSearch/cronRead.txt
2025-04-25 21:36:01.648741
['hello cron read!!!\n']表示python程序的输出内容正常。
- 上一篇:sed 命令快速入门
- 下一篇:linux shell 笔记——1
相关推荐
- 推特官网入口(推特官网入口网页登录网址)
-
首先在浏览器中打开推特的官网,然后点击页面上的“注册”创建账号。Twitter可以让用户更新不超过140个字符的消息(除中文、日文和韩语外已提高上限至280个字符),这些消息也被称作“推文(Tweet...
- windows7如何清理c盘(win7怎么清理c盘)
-
1.打开桌面计算机,右键点击“C盘”,并选取“属性”。2.待新窗口弹出后,依次点击“工具”、“立即进行碎片整理”。3.最后,选取C盘,在按下“磁盘碎片整理”按钮,系统就会对C盘进行分析,并进行整理。4...
- win10自带分区工具(win10官方分区工具)
-
Win10自带的分区工具是磁盘管理器,可以用来创建、删除、格式化和调整磁盘分区。下面是使用磁盘管理器分区的步骤:1.打开磁盘管理器。您可以在Windows10搜索栏中输入“磁盘管理器”来快速打开。...
- appstore正版下载软件(apple store下载正版)
-
不会,他是正版的,因为只有ios系统可以用,但他里面的好游戏都是要收费的,所以打架都要越狱,去其它地方下载,不去商店的在安卓上,GooglePlayStore是类似于苹果的AppStore一...
- 手机锁屏密码键盘没了(手机输入密码的键盘没了怎么办)
-
如果手机锁屏密码的键盘找不到,首先要确认是否是由于软件问题导致的。可以尝试重启手机或者清理手机缓存来解决。如果问题仍然存在,可以尝试更换输入法或者恢复手机出厂设置来解决。如果以上方法都没有效果,建议联...
- 移动硬盘跟固态硬盘的区别(移动硬盘跟固态硬盘的区别是什么)
-
一:移动硬盘移动硬盘是指以传统机械磁盘作为存储介质,用于计算机之间交换大容量数据,讲究移动便携性的存储产品。优点:具有容量大、价格便宜的特点,方便存储大量文件数据。(推荐学习:web前端视频教程)缺...
- windows怎么截图快捷键(windows截图快捷键没反应)
-
1、按Prtsc键截图这样获取的是整个电脑屏幕的内容,按Prtsc键后,可以直接打开画图工具,接粘贴使用。也可以粘贴在QQ聊天框或者Word文档中,之后再选择保存即可。2、按Ctrl+Prtsc键截图...
- 显示器分辨率有哪几种(显示器屏幕分辨率都有哪些)
-
目前使用较多的显示器分辨率有640*480,800*600,1024*768,1280*1024四种。刷新率,这主要是指显示器显示画面每秒刷新的次数,现在的电脑显示屏刷新率一般为75Hz,如果刷新率在...
- windows7激活工具 知乎(win7激活工具怎么使用教程)
-
Win7激活工具有很多,比如kms激活工具、小马激活工具、Windowsloader等。下面以这三款激活工具为例,做一个简单的比较。1、kms激活工具,相对比较稳定,通用性强,对各种gho、iso镜...
- 英伟达高端显卡排行(英伟达最高级显卡)
-
具体的排名如下:1、NVIDIAGeForceRTX30902、NVIDIAGeForceRTX3080Ti3、NVIDIAQuadroRTXA60004、NVIDIAGeFor...
- 苹果电脑为啥不能玩游戏(买苹果电脑的十大忠告)
-
1、MacBook本身就不是用来玩游戏的,是用来轻度办公的,只有集成显卡没有独立显卡,玩游戏也会非常卡。2、MacOS系统虽然支持steam软件,但是里面的游戏并不支持MacOS,况且本身支持MacO...
- 笔记本电脑显卡驱动怎么安装
-
使用驱动精灵或者驱动之家搜索驱动,下载后会自动安装驱动的。您好,以下是安装MacBook独立显卡驱动的步骤:1.打开“应用程序”,找到“实用工具”文件夹,打开“终端”。2.在终端窗口中输入以下命令...
- 家庭wifi已连接不可上网(家里wifi已连接不可用是什么原因)
-
WiFi已连接不可上网原因和解决方法一、路由器不稳定有些无线路由器、光猫(宽带猫)的质量比较差,长时间运行后会出现死机等一系列的问题。解决办法:把你家里的无线路由器、光猫(宽带猫)断电,等待几分钟,然...
- win10专业版在哪下(win10专业版在哪下载)
-
1.登陆MicroSoft官方网站会员中心,https://insider.windows.com/?lc=1033,点击“登陆”。2.使用hotmail邮箱或者开发者帐号登陆即可。3.选择“获...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
