简单shell脚本,与日志重定向输出

本文详细解析了LinuxCron定时任务的配置与执行过程,包括使用flock加锁防止任务重复执行,以及如何通过shell脚本设置环境变量、执行特定任务并记录日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux crontab定时任务:

*/5 * * * * flock -xn /tmp/kettle_job_sjgz_server.lock 
-c '/bin/bash /opt/pdi-ce-6.1.0.1-196/kettle_job_sjgz_server.sh 
>> /opt/pdi-ce-6.1.0.1-196/kettle_job_sjgz_server.log 2>&1'

:每隔5分钟执行一次,注意始终是从0开始,如0分、5分、10分......

:执行时加锁,避免前一次在5分钟内执行不完造成重复执行。flock文件锁,

  1. -x, --exclusive: 获得一个独占锁

  2. -n, --nonblock: 如果没有立即获得锁,直接失败而不是等待

:要执行的脚本

:设置要输入日志的路径。注意>和>>的区别,前者是覆盖插入,后者是追加,此处是追加日志。2>&1的意思是错误日志信息输出到等同于标准日志,就是标准日志和错误日志都输出到这个log文件中。

shell脚本内容:

export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera
export CLASSPATH=.:$JAVA_HOME/jre/lib/*:$JAVA_HOME/lib/*
export PATH=$JAVA_HOME/bin:$PATH
cd /opt/pdi-ce-6.1.0.1-196/data-integration
echo "startsjgz_server......................." `date` 
./kitchen.sh -rep=kettle -job=Jobs/SJGZ/sjgz_server
echo "endsjgz_server........................." `date` 

 :设置环境变量

:切换目录,执行sh脚本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值