- 论坛徽章:
- 0
|
前 提:
在mnt下面有2个文件夹:old new,其中old文件夹下面有可执行文件olp,new文件夹是空的
脚本运行时,如果发现new为空,则执行old文件夹下的olp;否则,当new文件夹下面有olp执行文件,并且该执行文件可以执行时,则将old文件中的olp备份成olp.old,否则不备份;
然 后:
1、将new文件夹下面的olp执行文件复制到old文件夹下面;
2、运行从new文件下复制到old文件中的olp,如果/mnt/old/olp运行失败,则运行备份/mnt/old/olp.old
3、删除old文件中不能执行的olp,然后将备份olp.old恢复成olp。
我的shell为:
#!/bin/bash
if [ -e "/mnt/new/olp" ];then
mv /mnt/old/olp /mnt/old/olp.old
mv /mnt/new/* /mnt/old
/mnt/old/olp || /mnt/old/olp.old
rm -f /mnt/old/olp
mv /mnt/old/olp.old /mnt/old/olp
if [ "$?" != 0 ]; then
/mnt/old/olp.old
fi
else
/mnt/old/olp || /mnt/old/olp.old
fi
我shell的不足,需要在第三行前,加一个判断/mnt/new/olp时候可以执行,可执行则运行后面的,如果不可执行则删除/mnt/new/olp,并运行备份/mnt/old/olp。 |
|