linux 脚本重复吊起,Linux在命令脚本不断重复

我已经从夜间骑车服务改为每周一次,但在更新INI之后,我希望服务器能够正确地循环服务。我想我可以使用'at'命令并将它与更新INI文件的命令一起发送。Linux在命令脚本不断重复

问题是这样的,我使用的是我在cronjob中使用的相同命令,而不是像cron一样循环一次,当我使用'at'服务时,每隔一段时间分钟。使用 '在'

#!/bin/bash

export SRVINI=/u01/home/me/scripts/buildini

SERVERLIST=$SRVINI/serverlist.txt

## Generate the body to send out to each server

touch $SRVINI/body.ini

## copying server.ini commented out as Senthil wants a different copy that he will edit

#cp $SRV_DATA/server.ini $SRVINI/

$SRVINI/generate_body.pl

#rm $SRVINI/server.ini

## scp the body of the ini file to each server

for i in `cat $SERVERLIST` ; do

scp $SRVINI/body.ini $i:$SRVINI/

done

## Call outside perl script to manipulate the files

for i in `cat $SERVERLIST` ; do

ssh $i "source ~/.bash_profile ; cd $SRVINI ; $SRVINI/buildini.pl ; at now + 15 minutes <<< '/u01/home/server/scripts/cycleSRVC.sh > /u01/home/server/logs/cycleSRVC.log 2>&1'"

done

rm $SRVINI/body.ini

的cronjob

15 04 * * 6 /u01/home/me/scripts/cycleSRVC.sh >/u01/me/tomax/logs/cycleSRVC.log 2>&1

脚本我用 'ATQ' 和核实,只有一个工作是在每个服务器上创建的。这让我觉得我的脚本通过ssh正确发送。

我知道循环脚本的工作原理,因为它作为cronjob运行时没有问题。

我尝试了不同的方式传递'at'命令,他们都在所有的服务器上创建一个作业,它们都运行,但他们都在几分钟后重新开始循环,我必须手动杀死骑自行车,杀死服务并把他们带回来。

在如何进行损失。目前,当我对INI进行更新时,我会在所有8台服务器上手动循环服务。非常感谢帮助。谢谢。

UPDATE

我注意到,当我做“ATQ”它运行后,它显示为 >atq

22 2014-12-02 22:01 = usr

这是否意味着它只是不断跑跑步?这是否意味着循环脚本有错误,因此它从未完成at命令?如果是这样,为什么它作为一个cronjob?

最后更新:

发现这个问题。它在cycleSRVC.sh脚本中,而不是'at'。 当我的服务正在启动备份我打电话: # Restart services

/u01/app/progs/start.sh

sleep 30

我有一个“&”推start.sh添加到背景。不这样做会让它处于一种奇怪的状态,之后会有睡眠。奇怪的小事让我产生了很多问题。

在此发布此信息可以帮助任何可能有同样挫败感的人。

2014-12-03

bigw8

+0

请将您的解决方案作为答案发布,以便将此问题从“未答复”列表中解决。另见:http://stackoverflow.com/help/self-answer –

2014-12-03 11:29:00

+0

@Ruud谢谢!会做 –

2014-12-04 22:47:04

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值