LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 799|回复: 3

请大家帮我看看这是啥问题?

[复制链接]
发表于 2008-8-13 09:38:41 | 显示全部楼层 |阅读模式
  1. #!/bin/sh
  2. #
  3. #initialization
  4. BAK_DATE=`date +%Y-%m-%d`
  5. WEBDIR=/usr/local/apache2/htdocs
  6. BAKDIR=/usr/local/backup/webapp_bak
  7. BAKLOG=/usr/local/backup/bak_log
  8. for i in "bbs" "dms" "extranet";
  9.         do
  10.                 tar Pcf - $WEBDIR/$i |gzip -9 >$BAKDIR/$i_$BAK_DATE.tar.gz
  11.                 if [ -e $BAKDIR/$i_$BAK_DATE.tar.gz ];
  12.                 then
  13.                     echo "`date +%F,%T` $i backup success!" >>$BAKLOG
  14.                     find $BAKDIR -name "$i_*.tar.gz" -mtime +7 -exec rm {} \;
  15.                 fi;
  16.         done;
复制代码

请问,我的tar文件命名有问题吗? 为什么备份出来的只有一个文件,而且,没有文件名,在目录里是这样的:
  1. ls -a /usr/local/backup/webapp_bak/
  2. . .. 2008-08-13.tar.gz
复制代码

而且只有一个...
发表于 2008-8-13 11:42:14 | 显示全部楼层
tar Pcf - $WEBDIR/$i |gzip -9 >$BAKDIR/$i_$BAK_DATE.tar.gz

这句可能有问题,你单独测试下,或者先tar成一个包,然后再gzip下
回复 支持 反对

使用道具 举报

发表于 2008-8-13 13:27:28 | 显示全部楼层
i_被当成变量名了。
用${i}_
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-13 15:58:30 | 显示全部楼层
Post by lastart;1885460
i_被当成变量名了。
用${i}_

谢谢这位朋友,就是此问题.
我把"$i_" 改成"$i\_"就顺利执行了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表