今天主要是给大家写一个备份mysql数据库的脚本,平常再生产环境下应该用的都是备份软件之类的,但是在本人驻地期间,甲方会要求有本地数据文件备份的,所以当时就写了一个这个脚本用于备份部分数据库文件。 今天其实也是为了承接上一篇文章才写了这个脚本,zabbix使用的过程中,最好也备份一下zabbix的数据库,就不说多了给大家直接上脚本吧 ,如果大家有那个地方不太懂的可以私密我。 ----------------------------------------------------------------- #!/bin/bash #备份目录 back='/home/wln/' LOG='/home/wln/logs/' #用户名 USER='root' #密码 PASSWD='zabbix' #主机名或ip HOST='localhost' #时间参数 time=`date +'%Y-%m-%d %H:%M:%S'` echo -e '\033[34m ***********backup***********\033[0m' b='' i=0 while [ $i -le 100 ] do printf 'Please wait...[%-50s]%d%%\r' $b $i sleep 0.1 i=`expr 2 + $i` b=#$b done [ ! -d $backup ] && mkdir -p $backup || cd '$backup' >/dev/null 2>&1 mysqldump -u$USER -p$PASSWD -h$HOST -A -B -R -F --lock-all-tables >/home/wln/zabbix-$time.dump echo -e '\033[35m##You can query log in $LOG##\033[0m' if [[ $? == 0 ]];then echo -e '\033[35m##backup successful in $backup##\033[0m' else echo -e '\033[35m##backup failed in $backup##\033[0m' fi ------------------------------------------------------------------------- 接下来是一些注意的事项,给大家也一一列出来了,可以根据实际情况使用 1,脚本随便放在哪里都可以 推荐放在家目录中/root 2.备份目录需要修改一下 修改到存储空间足够多的目录下 推荐 df -h 查看一下 3,给执行权限,chmod +x /root/mysqldump 4,推荐写到定时任务里 crontab -e 0 3 * * 7 sh /root/mysqldump [root@zabbix-server ~]# systemctl enable crond [root@zabbix-server ~]# systemctl restart crond |
|