for 循环 - 每 2 小时执行一次文件,输出 --> ssh "new server" 执行输出命令
for loop - execute file every 2 hr, output--> ssh "new server" execute output command
我将使用以下脚本来获取磁带存档。每个文件将需要 2 小时的时间来存档。
在这种情况下,我需要将所有文件的睡眠时间保持为 2 小时。并且应该根据输入ssh到服务器并开始执行输出命令以获取存档。一旦 2 小时完成,下一个文件应该开始执行
/root/scripts/list(文件)
/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
在 "for" 循环之后需要 "do"。这将解决上面评论中的问题:
for i in $(cat /root/scripts/list); do
我将使用以下脚本来获取磁带存档。每个文件将需要 2 小时的时间来存档。
在这种情况下,我需要将所有文件的睡眠时间保持为 2 小时。并且应该根据输入ssh到服务器并开始执行输出命令以获取存档。一旦 2 小时完成,下一个文件应该开始执行
/root/scripts/list(文件)
/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
在 "for" 循环之后需要 "do"。这将解决上面评论中的问题:
for i in $(cat /root/scripts/list); do