`
mylove2060
  • 浏览: 330878 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux Shell 实现每天定时执行脚本,周六周日除外,后台运行

阅读更多
#!/bin/sh

#Section configuration(配置部分) 
#Task Time ,ex:203000(Time 20:30:00);190000(Time 19:00:00);
startTime=170000
#Script File
scriptfile=./gen.sh

#Section promgram (程序执行部分) 
perDate=$(date "+%Y%m%d")
isNewDay=1
totalSecs=0
isFirstTime=1

echo 'Task schedule Time: ('$startTime') scriptfile: ('$scriptfile') Waiting...'

while true ; do
	curTime=$(date "+%H%M%S")
	curDate=$(date "+%Y%m%d")

	#Check week day
	week=`date +%w`
	day=`echo $week "- 1" | bc`
	if [ $day -lt 0 ] || [ $day -eq 5 ];then
		isNewDay=0
		sleep 1
		continue
	
	else 
		#check and run script
		if  [ "$isNewDay" -eq "1" ];then
			if [ "$curTime" -gt "$startTime" ];then
				if [ "$isFirstTime" -eq "0" ];then
					echo 'Shell Script ('$scriptfile') Running...'
					sh $scriptfile
					echo 'Shell Script ('$scriptfile') Stopped...'
				fi
				isNewDay=0
			else
				if [ "$isFirstTime" -eq "1" ];then
					echo 'New Day: ('$curDate') Task schedule Time: ('$startTime') Waiting...'
					isFirstTime=0
				fi
		
			fi
		else
			#new day start
			if [ "$curDate" -gt "$perDate" ];then
				echo 'New Day: ('$curDate') Task schedule Time: ('$startTime') Waiting...'
				isNewDay=1
				perDate=$curDate			
			fi
		fi
		sleep 1
	fi
done




后台挂起运行nohup ./autorun.sh&
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics