wingscross 发表于 2008-04-28 13:26

informix备份 tar打包不完全的问题(已解决)

近几天自动执行困扰    数据库:informix7.3
                                 OS   :Redhat AS 4
备份程式:
#!/bin/sh
HOME=/home/ukadm
INFORMIXDIR=/opt/informix
INFORMIXSERVER=hprh72
USER=ukadm
LOGNAME=ukadm
TTY=$LOGNAME
HOSTNAME=hprh72
PATH=:/opt/informix/bin:/usr/bin:/bin
SHELL=/bin/sh
ONCONFIG=onconfig
LOG=/backup/log
export INFORMIXDIR INFORMIXSERVER HOME USER LOGNAME HOSTNAME TTY PATH SHELL ONCONFIG
DBDELIMITER=! export DBDELIMITER


BACKUP_DIR=/backup2
FTP_ADDR=192.168.66.8
FTP_USER=xxxxx
FTP_PASSWD=xxxxx
DATE=`date +%Y-%m-%d-%T`
LOG=$BACKUP_DIR/log/$DATE.log
EXPORT_LOG=$BACKUP_DIR/log/export.log
TEMP=$BACKUP_DIR/tmp
TGZ=$HOSTNAME-`date +%Y-%m-%d`.tar.gz


wall 系统即将备份!

echo "start at `date`" >$LOG
rm -rf $TEMP
mkdir $TEMP
cd $TEMP
echo $PWD

rm -rf $BACKUP_DIR/*.tar.gz

echo "Restart database" >> $LOG
onmode -ky
oninit
sleep 10

echo "Start Backup" >> $LOG
dbexport hy >> $EXPORT_LOG

cd $BACKUP_DIR
echo $PWD
sleep 5
echo "zip files `date`" >> $LOG
tar cvzf $TGZ $TEMP

echo "Finish at `date`" >> $LOG
echo "Start upload to $FTP" >> $LOG

ftp -i -n $FTP_ADDR<<EOS
user $FTP_USER $FTP_PASSWD
bin
put $BACKUP_DIR/$TGZ /$TGZ
quit
EOS

echo "End of uploading to $FTP at `date`" >> $LOG



我换了台机器后
这个备份程式执行时就除了问题
数据库导出以后
tar 打包就出现了问题它只打包了部分数据 这样ftp也只能传部分 这是每天定时备份出现的问题
crontab -l      
@dailysh /home/informix/backup.sh
但是当我用informix用户手动执行时   sh backup.sh   tar打包完整 ,上传也完全没问题
我还有台测试的机器   OS:Redhat 7.3数据库:informix 7.3 每天备份完全正常

这个是什么原因呢?各位帮帮忙吧。

[ 本帖最后由 wingscross 于 2008-4-30 14:44 编辑 ]

liaosnet 发表于 2008-04-28 14:07

是否只是打包有问题??前面的操作都没有问题?

wingscross 发表于 2008-04-28 14:35

原帖由 liaosnet 于 2008-4-28 14:07 发表 http://bbs.chinaunix.net/images/common/back.gif
是否只是打包有问题??前面的操作都没有问题?


是 仅仅是打包有问题其他没问题 备份都OK 数据大小是对的
    打包换成cpio打包后也是这样的问题   打包了一部分    当我手动执行这个程式的时候
    打包全部

liaosnet 发表于 2008-04-28 16:23

回复 #3 wingscross 的帖子

tar cvzf $TGZ $TEMP

把option中的v去掉.改成 tar czf $TGZ $TEMP
或者改成
tar cvzf $TGZ $TEMP >/dev/null 2>&1

wingscross 发表于 2008-04-30 14:46

原帖由 liaosnet 于 2008-4-28 16:23 发表 http://bbs.chinaunix.net/images/common/back.gif
tar cvzf $TGZ $TEMP

把option中的v去掉.改成 tar czf $TGZ $TEMP
或者改成
tar cvzf $TGZ $TEMP >/dev/null 2>&1


我改了打包就OK了 上传也OK了问下原因为什么吧标准输出和标准输出错误导向/dev/null 就可以了呢?
有点不解。。。

liaosnet 发表于 2008-04-30 18:00

回复 #5 wingscross 的帖子

v这个option要显示信息到终端,由于使用后台时无法输出到终端(默认是屏幕),故会报错。。
l输出到/dev/null就是指定的这样的终端。。。

[ 本帖最后由 liaosnet 于 2008-4-30 18:02 编辑 ]

wingscross 发表于 2008-05-04 10:21

原帖由 liaosnet 于 2008-4-30 18:00 发表 http://bbs.chinaunix.net/images/common/back.gif
v这个option要显示信息到终端,由于使用后台时无法输出到终端(默认是屏幕),故会报错。。
l输出到/dev/null就是指定的这样的终端。。。


谢谢了

wstar 发表于 2008-06-16 16:24

原帖由 liaosnet 于 2008-4-30 18:00 发表 http://bbs.chinaunix.net/images/common/back.gif
v这个option要显示信息到终端,由于使用后台时无法输出到终端(默认是屏幕),故会报错。。
l输出到/dev/null就是指定的这样的终端。。。


是一位shell高手,还是好人。
页: [1]
查看完整版本: informix备份 tar打包不完全的问题(已解决)