for循环 - 每2小时执行一次文件,输出 - > ssh“new server”执行输出命令

时间:2015-03-17 19:23:50

标签: linux bash shell for-loop ssh

以下脚本我将用于录制磁带存档。每个文件需要2小时的时间来存档。

在这种情况下,我需要将睡眠时间保持为所有文件的2小时。并应根据输入ssh到服务器并开始执行输出命令以进行存档。一旦完成2小时,下一个文件应该开始执行

/ root / scripts / list(file)

/DATA/DataToTape/JAN_1991/
/DATA/DataToTape/JAN_1992/
/DATA/DataToTape/JAN_1993/
/DATA/DataToTape/JAN_1994/
/DATA/DataToTape/JAN_1995/
/DATA/DataToTape/JAN_1996/
/DATA/DataToTape/JAN_1997/

我尝试过但无法帮助--------------

#!/bin/bash
echo " pls enter sleep time:"
read sleep
echo "pls enter server to take archive"
read server
for i in $(cat /root/scripts/list)
path=$i
output=$(nohup dsmc arch $path -subdir=yes > /tsm/backuplogs/$(basename $path)_\`date +%d%m%y_%H_%M\`.log &) 
ssh "$server $output"
done

1 个答案:

答案 0 :(得分:0)

你需要"做"在你的" for"之后环。这将解决上述评论中的问题:

for i in $(cat /root/scripts/list); do