linux数据库备份

数据备份
第一步:在linux服务器上创建文件夹/opt/mysqlbackup
第二步:将下面内容写入mysqlbackup.sh内,并放入/opt/mysqlbackup文件夹下,注意修改密码
第三步:为脚本文件添加可执行权限 chmod +x mysqlbackup.sh
第四步:若没有mysqldump命令则需要配置mysqldump环境变量:在/etc/profile文件内添加一条path指向mysql的bin目录

export PATH=$PATH:/usr/local/mysql/bin/

并重新加载配置文件 source /etc/profile
第五步:执行:sh mysqlbackup.sh
第六步:定时执行:crontab -e添加执行时间

0 12 * * * /opt/mysqlbackup/mysqlbackup.sh
#!/bin/bash
number=3
backup_dir=/opt/mysqlbackup
dd=`date +%Y%m%d%H%M%S`
tool=mysqldump
username=root
password=12356
if [ ! -d $backup_dir ]; 
then     
    mkdir -p $backup_dir; 
fi
#DATABASES=$(mysql -u$username -p$password  -s -e "SHOW DATABASES")
DATABASES="数据库名1 数据库名2"

for db in $DATABASES
do
# if [ "$db" != "information_schema" ] && [ "$db" != "mysql" ] && [ "$db" != "sys" ] && [ "$db" != "performance_schema" ]
#then
	echo "backed up successfully"
	$tool -u $username -p$password --skip-lock-tables $db > $backup_dir/"$db"_$dd.sql
	gzip $backup_dir/"$db"_$dd.sql
	echo "create $backup_dir/$dd.dupm" >> $backup_dir/log.txt
	delfile=`ls -l -crt  $backup_dir/"$db"* | awk '{print $9 }' | head -1`
	count=`ls -l -crt  $backup_dir/"$db"* | awk '{print $9 }' | wc -l`
	if [ $count -gt $number ]
		then
  			rm -f $delfile
  			echo "delete $delfile" >> $backup_dir/log.txt
	fi
#fi
done
echo "All databases backed up successfully"

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值