【www.bbyears.com--php常用代码】
代码如下
#!/bin/bash
##Program: This script will be executed at a known time to create a database"s backup and upload it to another host.
#Info of database:
#Name: ninthday_sql username: ninthday_sql Password: ninthday_passwd
#
#Info of backup host:
#FTPName: ninthday_ftp
#FTPPasswd: ninthday_passwd
#Backup dir:backups
#
#Contact:http://www.111cn.net
##
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin
export PATH
# 定义数据库的信息,其中Name为数据库名,Username为数据库用户名,Password为密码 #
Name=ninthday_sql
Username=ninthday_sql
Password=ninthday_passwd
# 定义本地备份路径 #
Localdir=/home/chroot/home/ninthday
# 定义本地备份的临时名称 #
LBackname=backup-blog-$(date +%Y%m%d).sql
# 定义本地三天前备份的名称 #
LOldbackup=backup-blog-$(date -d -3day +%Y%m%d).sql.tar.gz
# 定义远程备份名称 #
RBackname=backup-blog-$(date +%Y%m%d).sql.tar.gz
# 定义远程5天前备份名称 #
ROldbackup=backup-blog-$(date -d -5day +%Y%m%d).sql.tar.gz
# 定义远端FTP信息 #
FTPHost=216.18.217.23
FTPName=ninthday_ftp
FTPPasswd=ninthday_passwd
# 定义用户 #
user=ninthday
# 定义发送和接收通知邮件的地址(须在不同的域) #
sender=root@ninthday.net
receiver=kailash@126.com
# 开始创建本地文件 #
mysqldump -u$Username -p$Password $Name > $Localdir/backups/$LBackname
# 压缩至本地 #
tar zPcf $Localdir/backups/$RBackname $Localdir/backups/$LBackname
# 上传数据 #
lftp $FTPHost -u $FTPName,$FTPPasswd << EOF
cd backups
mput $Localdir/backups/$RBackname
mrm $ROldbackup
bye
EOF
# 删除本地多余及过期数据 #
rm -f $Localdir/backups/$LBackname
if [ -e $Localdir/backups/$LOldbackup ] ; then
rm -f $Localdir/backups/$LOldbackup
fi
# 写日志文件 #
echo "A datebase"s backup has already created and uploaded to the host on $(date +%F)." >> $Localdir/logs/dbbackup.log
# 更改权限 #
chown $user:$user $Localdir/backups/$RBackname
# 发送通知邮件 #
sendmail -t <
To: $receiver
Subject: Database succeeded in creating backup.
----------------------------------------------------------
The VPS has succeeded in creating and uploading database"s backup.
It holds 5 database"s backups created on the latest 5 sequential days
on remote host and 3 database"s backups on localhost(/backups/).
Please download the backup files to your computer on a regular time schedule.
Don"t reply this email!
Contact: harid@ninthday.net
http://www.111cn.net
----------------------------------------------------------
EOF
exit 0