- 论坛徽章:
- 0
|
5可用积分
#!/bin/bash
#This scripts is used for backup mysqldata
DATADIR=/home/mysql
MYSQLBIN=/www/mysql/bin
MYSQLUSER=root
MYSQLPWD=xxxxx
MYSQLDB=xx
UPLOADIP=192.168.120.132
GZIP=/bin/gzip
date=`/bin/date +%Y-%m-%d_%H`
DATETIME=`/bin/date +%Y-%m-%d\ %H:%M:%S`
ftp_ip()
{
echo ${date}.gz >> $DATADIR/mysql.log
echo "begin to upload file" >> $DATADIR/mysql.log
ftp -i -n $UPLOADIP << _EOF_
user xxxx xxxx
bin
prompt
!cd /home/mysql
put ${date}.gz
bye
_EOF_
}
$MYSQLBIN/mysqldump -u$MYSQLUSER -p$MYSQLPWD --database $MYSQLDB --opt --master-data=2 | $GZIP > $DATADIR/${date}.gz
if [ $? -eq 0 ]
then
echo "mysqldump succeed!" >> $DATADIR/mysql.log
else
echo "mysqldump failed!" >> $DATADIR/mysql.log
fi
ftp_ip
if [ $? -eq 0 ]
then
echo "uploadfile succeed!" >> $DATADIR/mysql.log
else
echo "uploadfile failed" >> $DATADIR/mysql.log
fi
/usr/bin/find $DATADIR -name "*.gz" -atime +7 -exec rm -rf {} \; >> $DATADIR/mysql.log 2>&1
echo "$DATETIME operate finished!" >> $DATADIR/mysql.log
echo "-----------------------------------------------------" >> $DATADIR/mysql.log
这个脚本直接执行就可以将打包的文件ftp到远程服务器上,但是放到crontab里面就只能备份文件,无法ftp传到远程服务器上了,报
local: 2009-12-11_17.gz: No such file or directory
这个错误。。撒原因呢? |
最佳答案
查看完整内容
LZ的问题恰恰就出在这个'!cd'上 ...换成'lcd'吧 ..原因我不说了, 回家了
|