shell之crontab

crontab 执行 Shell 脚本请注意 crontab执行Shell脚本请注意 为什么手动执行 Shell 脚本就没问题,而用 crontab 失败呢? 情景回顾 以 Java 程序为例 写了个监控脚本,如果发现进程挂掉就重新拉起 示例 #!/bin/bash DEMO='/home/demo' DEV='/home/dev' PID=`ps -ef |grep "java -jar" |grep -v grep| awk '{print $2}'` CUR_HOST=`eval echo '$'"$1"` if [ $PID ]; th 阅读详情

一  crontab高级用法

Crontab 主要是在做排程, 通常一般寫法大概都是如下:

0 0 * * * /usr/local/www/awstats/cgi-bin/awstats.sh

這種寫法規則如下:

分 時 日 月 週

對應表如下:

field              allowed values
-----             --------------
minute            0-59
hour               0-23
day of month   1-31
month            1-12 (or names, see below)
day of week    0-7 (0 or 7 is Sun, or use names)

看到彥明長輩寫才知道有這種寫法:

@hourly /usr/local/www/awstats/cgi-bin/awstats.sh

使用 @hourly 對應的是 0 * * * *, 還有下述可以使用:

string            meaning
------           -------
@reboot        Run once, at startup.
@yearly         Run once a year, "0 0 1 1 *".
@annually      (same as @yearly)
@monthly       Run once a month, "0 0 1 * *".
@weekly        Run once a week, "0 0 * * 0".
@daily           Run once a day, "0 0 * * *".
@midnight      (same as @daily)
@hourly         Run once an hour, "0 * * * *".

特別是看到 @reboot, 所以寫 rc.local 的東西, 也可以使用 @reboot 寫在 crontab 裡面?... XD

找時間再實驗看看. 更多詳細的應用, 可以 man 5 crontab :)

註: sudo crontab -e -u www-data # 可以編輯 www-data 權限的 crontab

转自:http://blog.longwin.com.tw/2008/01/crontab_howto_write_2008/

二 注意事项

crontab与环境变量

不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shelll脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。所以注意如下3点:
1)脚本中涉及文件路径时写全局路径;
2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:
cat start_cbp.sh
#!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
3)当手动执行脚本OK,但是crontab死活不执行时。这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。如:
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

3. 其他应该注意的问题
1)新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。
2)每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。
3)当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
4)千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。

5)在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’`。



注:一般需要引入环境变量时,使用

source $HOME/.bash_profile

注意:因为$HOME也是环境变量,所以这里要把$HOME替换为绝对路径

转自:http://bbs.chinaunix.net/thread-2291457-1-1.html

全志D1s RISC-V开发板硬件设计与Linux启动全流程解析 RISC-V架构是当前国产嵌入式处理器演进的核心方向,其启动流程涵盖从BootROM、SPL到U-Boot及Linux内核的多级引导机制。理解该流程需掌握DDR初始化、设备树适配、电源时序控制等底层原理,技术价值在于构建可追溯、可调试、可量产的最小可行系统(MVS)。典型应用场景包括边缘AI推理终端、工业HMI和轻量级网关等对成本与开源性敏感的领域。本文以全志D1s平台为载体,深入剖析基于玄铁C906内核的RISC-V SoC在真实硬件上的启动验证、电源完整性设计与Linux全链路开源实践。 阅读详情

相关推荐

永久关闭Windows更新的5种方法

很多家用电脑,如果系统自动更新的话,会变得越来越卡顿,且硬件型号兼容也并不完美。那么我们该如何彻底关闭Win11的自动更新呢?以下准备了5种方法,您可以根据自身实际情况选择合适的方法!

qq_43652793的博客 1万+

shell编程中crontab用法超级详解!

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。 时间格式:{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} (分钟 小时 天 月 星期 命令) o minute: 区间为 0 – 59 o hour: 区间为0 – 23 o day-of-mo......

魏波 4135

ESP32-S3打造离线语音助手:从零部署自定义唤醒词与本地大模型推理【实战指南】

本文详细介绍了如何利用ESP32-S3芯片打造离线语音助手,包括自定义唤醒词训练与本地大模型推理的实战指南。通过硬件架构解析、音频处理优化及性能调优技巧,实现低延迟、高隐私保护的语音交互方案,特别适合智能家居和物联网应用。

weixin_30296405的博客 604

【Shell 命令集合 系统设置 】Linux定时任务 crontab命令 使用指南

在Linux中,crontab命令用于创建、编辑和管理用户的定时任务。通过使用crontab命令,用户可以在指定的时间间隔内自动执行特定的命令或脚本。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4672

Android malloc_debug实现原理及使用

2)设置 __libc_globals 对象中的 libc_globals.default_dispatch_table 和 current_dispatch_table 指向 malloc_dispatch_table,以后在 malloc 库函数里都会通过 GetDispatchTable(),这个函数就是返回的 current_dispatch_table 指针;MAX_FRAMES 表示被抓取的 frames 的数量,如果设为0, 表示在分配空间被释放时,不会抓取任何调用栈。

专注于系统快稳省领域 3740

Label Studio保姆级教程:从零搭建医疗影像标注平台(DICOM格式支持)

本文提供基于Label Studio从零搭建医疗影像标注平台的保姆级教程。针对DICOM格式支持,详细阐述了环境部署、DICOM深度集成与预处理、团队协作权限管理以及质量审核闭环等核心环节,旨在构建一个高效、可落地的医疗AI数据标注解决方案,助力模型落地。

nft7creator的博客 303

shell---crontab定时任务详解

shell中的crontab定时任务 一、crontab简介: crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户...

qq_35808136的博客 823

实战指南:如何用Frida绕过某梆加固的Anti-Frida检测(附完整脚本)

本文深入剖析了企业级加固方案中的Anti-Frida检测机制,并提供了实战对抗策略。通过分析基于文件系统、内存特征、行为及环境的多层次检测原理,文章详细介绍了如何定位检测逻辑、绕过maps文件扫描、对抗内存与行为特征检测,并附上了针对某梆加固的完整绕过脚本与系统化工程方案。

weixin_42527589的博客 598

第二十八节Linux shell 之 crontab(定时任务)详解

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

zjltianxin的博客 1375

LLC谐振变换器中的软开关艺术:ZVS与ZCS的协同设计

本文深入解析了LLC谐振变换器如何通过巧妙的电路设计,协同实现零电压开关(ZVS)与零电流开关(ZCS),从而大幅降低开关损耗与电磁干扰,提升电源效率。文章结合设计实战,详细阐述了谐振参数计算、器件选型及调试避坑指南,为高效、高功率密度电源设计提供了核心思路与解决方案。

weixin_29216957的博客 349

SAP NetWeaver Business Client (NWBC) 的深入解析

SAP NetWeaver Business Client(NWBC)作为 SAP 提供的一种用户界面,旨在为终端用户提供无缝集成传统 SAP GUI 事务和新开发的基于 Web Dynpro ABAP 的应用程序的体验。SAP NetWeaver Business Client(NWBC)是 SAP 推出的用户界面,旨在为终端用户提供单一入口,集成传统的 SAP GUI 事务和新开发的基于 Web Dynpro ABAP 的应用程序。在实际业务场景中,NWBC 的应用提升了用户的工作效率和体验。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1603

使用crontab定时执行shell脚本

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等不适合人工经常做的一些操作。那么今天就来简单说下如何使用crontab定时执行shell脚本。步骤一    首先我们先看一下是否安装了crontab。一般情况下linux系统会自带crontab及crond。如果没有安装,请使用以下指令安装:yum install vixie-cron        ...

技术宅拯救世界 5万+

关于如何在matlab中导入并翻译Hypemesh导出的大型刚度矩阵txt文本

如何将它翻译成matlab可以使用的矩阵变量,并参与运算。 由于这个大型刚度矩阵125万x125万≈1e12。matlab甚至其他计算软件无法保存这个大的一个矩阵文件。而这个刚度矩阵作为稀疏矩阵其中非零元素的数目只有有500多万。采用sparse稀疏矩阵技术是可以保存。 这里简单介绍一下这个Hypemesh导出的大型刚度矩阵txt文本。如图DMIG开头的标识符是换行符,后面两列是表示这条非零元素在刚度矩阵中列数的信息。我们已经将左边字母和符号等批量删除,得到了右边textread函数可以...

wenyusuran的专栏 1795

[shell] crontab

星号(*):代表所有可能的值,如month字段为星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。 小 结: ...

lbt_dvshare的博客 585

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

如何用Shell脚本修改crontab

Shell脚本修改crontabcrontab -l > /tmp/crontab.$$echo '* * * * * /root/a.sh' >> /tmp/crontab.$$crontab /tmp/crontab.$$ 本文转自 freeterman 51CTO博客,原文链接:http://blog.51cto.com/m...

weixin_34138056的博客 2391

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

crontab 每分钟一次_crontab定时job shell发起http请求

http request by crontablinux shell http请求#!/bin/shfile=log.txtecho 'start refresh crontab ....' >> $fileecho $(date "+%Y-%m-%d %H:%M:%S") >> $file //输出每次执行时间pm2 start spider //启动node ...

weixin_39911056的博客 380

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

shell编辑crontab任务

crontab是Linux下执行定时任务的工具,之前偶尔需要用到时都是通过执行crontab -e命令或者通过root身份直接编辑/etc/cron.*/下的文件来添加定时任务。这段时间遇到了需要通过shell来自动添加或删除crontab的需求。在shell中无法通过crontab -e来与crontab编辑器交互,同时执行命令的人不一定有root身份,也无法直接编辑/etc/cron...

weixin_30563319的博客 1001

shell脚本手动执行,但是crontab不执行

遇到个问题:写了个shell脚本,需要定期执行,但是手动执行可以执行,crontab调用却报错。 网上查了各种原因: 基本就是说crontab执行时环境变量的问题。 source /etc/profile 但是这里却不成功,因为涉及到另一个问题 QXcbConnection: Could not connect to display 正在找原因: 一说, crontab执行环境是,命令行,不能...

zhiranyouni的博客 7936

shell 添加crontab 任务

本文转自: https://www.cnblogs.com/weifeng1463/p/8330290.html 本来直接用crontab -e 就可以打开vim,输入要执行的任务保存退出就可以添加任务直接启动运行了。但是今天组长说能不能写个shell不用打开vi就能添加到crontab的。 最先想到的是怎么在shell脚本里面如何使用vi的命令,网上找了好多,要么格式太乱,要么没明白意思直接...

Primeprime的专栏 3468

linux通过crontab命令定时执行shell脚本

linux的crontab指令

qq_45473377的博客 1万+

crontab不能执行shell中的mysql命令

今天遇到个问题: 用shell调用mysql命令, 直接执行shell脚本是没有问题,但一放到crontab里就执行不了.  最后发现是mysql需要全路径. 哎, 折腾了半天

djy1135的专栏 1396

crontab定时执行shell脚本

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行。。我们一般是定时的执行shell脚本一、步骤(1)、编写好sh,设置成可执行,然后编辑crontab配置信息:    到你的项目目录下,输入crontab –e,这样就以编辑模式打开个人的crontab配置文件,(2)加入:    0 0 * * * /home/lin...

LZJWXJ树袋熊 3890

crontab shell 每5秒执行_Crontab 让linux定时执行shell脚本

我之所以用它,是因为最近做在做一个个人项目,每天都会推送新的图片,而客户端每天都是安装当前时间来获取该图片的。 而如果我再没有最新的图片推送时,会把以昨天时间作为名称的图片定时修改为最新日期的名称,这样保证每天都能拿到图片;当然另一种方式是客户端缓存图片,但是如果缓存或者文件夹被清掉了,完了,你使用的图片就是异步加载框架指定的加载失败时显示的图片,体验不是很好。 当然啦!~你或许有很多办法避免,...

weixin_39810196的博客 276

crontab执行日志_简单介绍Shell中的定时任务 crontab

crondtab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。这篇文章主要介绍了Shell中的定时任务 crontab,需要的朋友可以参考下crondtab定时任务crondtab是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,crondtab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任...

weixin_39683863的博客 784

crontab调用shell 文件

crontab可以定时调用shell文件,如定时发送邮件、生成静态页面等,采用此机制,要比java定时器灵活的多。 1:写一个带有main方法的可执行java类 2:编写shell文件 [code="java"] /usr/local/java/bin/java -cp /usr/www/project/WEB-INF/classes/:/usr/www/silkdev.bizoss....

记录点滴....... 245
上一篇: Memcache第一篇---基础教程
下一篇: mysql----ERROR 1040 (HY000): Too many connections
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值