MySQL备份的shell脚本

    经过测试该脚本可以远程备份,但需要配置远程登录用户的权限,经过测试啊,在把这个脚本添加到计划任务的时候是无法识别mysql命令的(即使是将mysql添加到环境变量也无法识别,是因为/etc/crontab这个配置文件中的环境变量的问题,将MySQL的环境变量添加进去就可以了),所以添加到定时任务中的时候需要给命令绝对路径

#!/bin/bash  
# Shell script to backup MySql database   
# Author:fansik
# Date 2016-6-23

# Database info   
dbuser="root"
dbpasswd="hzsite"
host="127.0.0.1"
port="3306"

#backup dir
if [ ! -d /backup ]; then
    mkdir /backup
fi
backupdir=/backup

#datetime  
datetime="$(date +"%Y-%m-%d")"

# Database list 
dblist="$(/usr/local/mysql/bin/mysql -u$dbuser -p$dbpasswd -h$host -P$port  -Bse 'show databases')"

# use for cycle backup ervery database   
for dbname in $dblist
do
    /usr/local/mysql/bin/mysqldump -u$dbuser -p$dbpasswd -h$host -P$port $dbname > $backupdir/$dbname.sql
done

# pack files for backup
cd $backupdir
tar zcvf $datetime.tar.gz *.sql --remove-files

# delete 30days ago files
find $backupdir -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;

 

转载于:https://www.cnblogs.com/fansik/p/5610283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值