Linux 备份文件和数据库发送到邮箱

今天一个误操作 把一个月的文件备份和数据库备份删掉了 :shock:

做了一个用sendmail发送到邮箱的备份脚本:


#!/bin/bash
# X , sendmail hoodbc20117
### Setting path ###
BACKPATH="/data0/mysql_bak"
DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`

zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
echo "erp all backup" | mutt -a $BACKPATH/erp_$DATE.zip -s "erp all backup" bluehood24@163.com

find $BACKPATH -ctime +30 -name *.zip -delete


顺便把数据库备份的脚本也记录下来:

#!/bin/bash
# hoodbc20117

### database setting ###
USER='root'
PASSWORD=''
HOST="127.0.0.1"
DATABASES=(erp)

### Setting path ###
MYSQLDUMP=/usr/local/webserver/mysql/bin/mysqldump
BACKPATH="/data0/mysql_bak"

DATE=`/bin/date "+%Y-%m-%d-%H-%M-%S"`
for DATABASE in ${DATABASES[*]}
do
FILENAME="$DATABASE-$DATE"

$MYSQLDUMP --add-drop-table --user $USER --password=$PASSWORD $DATABASE --lock-all-tables>> "$BACKPATH/$FILENAME.sql"
done

#tar zcf -r $BACKPATH/erp_$DATE.tar.gz ~/data/htdocs/www/erp
#zip -rq $BACKPATH/erp_$DATE.zip /data/htdocs/www/erp/
zip -rq $BACKPATH/$FILENAME.zip $BACKPATH/$FILENAME.sql
echo "erp db backup" | mutt -a $BACKPATH/$FILENAME.zip -s "erp db backup" bluehood24@163.com

find $BACKPATH -ctime +30 -name *.sql -delete

记得加上--lock-all-tables的参数,这样在导出sql文件的时候会锁定表,当然也可以直接把数据库文件打包。最后加到crontab里定时运行脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值