mysql自动备份维护shell脚本
来源:互联网 发布:js怎么设置left值 编辑:程序博客网 时间:2024/05/22 13:21
/opt/backup_online.sh
#!/bin/bash
#功能说明:本功能用于备份数据库
#数据库用户名
dbuser='root'
#数据库密码
dbpasswd='zLaaa'
#数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
dbname='adb bdb '
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/opt/garbageBackup/'
#数据备份路径
datapath='/opt/garbageBackup/'
echo ${table}
#日志记录头部
for db in $dbname; do
source=`mysqldump -u ${dbuser} -p${dbpasswd} ${db}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
zip -r ${table}${backtime}.zip ${backtime}.sql > /dev/null
rm -f ${datapath}/${backtime}.sql
fi
done
~
每天4点备份mysql数据;
vim /etc/crontab
0 4 * * * /bin/sh /opt/backup_online.sh
3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;
#创建shell文件
vim backup_mysql.sh
mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;
#创建定时任务
crontab –e
0 4 * * * /data/dbdata/backup_mysql.sh
mysql自动备份维护shell脚本
#!/bin/bash
#Mysql 自动备份 压缩并上传到 指定ftp
#设想每天凌晨3点备份mysql
#编辑crontab配置文件
#00 03 * * * backupmysql.sh
#压缩并以“服务器名+时间 ”命名打包文件
#数据量小的情况下以mail的方式发送到指定邮箱(需要建立sendmail服务)
#数据量大的情况下以ftp的方式传送到指定的ftp服务器(远程ftp需开启)
#linzhanghui.blog.chinaunix.net
#程序部分以伪代码方式存在。
#
#1.设置mysql登陆参数
dbuser=root
dbpassword=123456
dbserver=localhost
dbname=cacti
dbopt=--opt
backupdir=/tmp/dbbackup/
#2.设置ftp具体参数
ftpserver=192.168.137.3
ftpuser=userlin
ftppassword=passwdlin
#3.设置文件备份文件名,备份文件保存天数
fileprefix=lzhserver
dumpfilename=$backupdir$fileprefix`date -d now +%Y%m%d`.sql
newfile=$fileprefix-`date -d now +%Y%m%d`.tar.gz
keepdays=7
#4.写入操作到日志文件(事先需建立)
logfile=/var/log/mysqlbackup.log
logtmp=/var/log/mybackup.tmp
#=====如果没有备份文件夹则建立之======
if [ ! -d "$backupdir" ];
then
echo "无此文件夹,建立中..."
mkdir -p $backupdir
fi
#=====事先删除7天之前的备份数据库文件=====
echo "开始执行备份...">>$logfile
echo "删除保留天数之前的备份文件...">>$logfile
find $backupdir -name $fileprefix* -mtime +$keepdays -fls $logtmp -exec rm {};
echo "删除的备份文件:">>$logfile
cat $logtmp >>$logfile
echo "删除旧备份文件成功!" >>$logfile
#=====备份+打包======
if [ -f $backupdir$newfile ]
then
echo "$newfile 备份文件存在, 备份结束 ...">>$logfile
else
if [ -z $dbpasswd ]
then
mysqldump -u$dbuser -h$dbserver $dbopt $dbname >$dumpfilename
else
mysqldump -u$dbuser -p$dbpasswd -h$dbserver $dbopt $dbname >$dumpfilename
fi
tar czvf $backupdir$newfile $dumpfilename
echo "$backupdir$newfile 备份成功!+“$压缩包容量”">>$logfile
fi
#======以ftp方式发送=====
ftp -i -n <<end_ftp
open $ftpserver
user $ftpuser $ftppassword
lcd $backupdir
hash
prompt
put $newfile
close
bye
end_ftp
http://www.jb51.net/article/24393.htm
http://blog.csdn.net/phpfenghuo/article/details/29931837
http://blog.csdn.net/u010098331/article/details/50896175
http://www.cnblogs.com/batsing/p/4938986.html
http://blog.csdn.net/a00553344/article/details/51186954
http://www.cnblogs.com/batsing/p/4938986.html
http://www.linuxde.net/2012/03/9379.html
http://blog.csdn.net/win_turn/article/details/60880990
http://blog.csdn.net/keenweiwei/article/details/5903142
http://blog.csdn.net/joyous/article/details/48304405
http://blog.csdn.net/phpfenghuo/article/details/29931837
http://blog.csdn.net/catoop/article/details/8064817
http://blog.csdn.net/gsls200808/article/details/45127781
http://blog.csdn.net/u012403455/article/details/40535975
http://blog.csdn.net/u011225629/article/details/46785579
http://blog.csdn.net/jyf0412/article/details/36866041
#!/bin/bash
#功能说明:本功能用于备份数据库
#数据库用户名
dbuser='root'
#数据库密码
dbpasswd='zLaaa'
#数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2
dbname='adb bdb '
#备份时间
backtime=`date +%Y%m%d%H%M%S`
#日志备份路径
logpath='/opt/garbageBackup/'
#数据备份路径
datapath='/opt/garbageBackup/'
echo ${table}
#日志记录头部
for db in $dbname; do
source=`mysqldump -u ${dbuser} -p${dbpasswd} ${db}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;
#备份成功以下操作
if [ "$?" == 0 ];then
cd $datapath
zip -r ${table}${backtime}.zip ${backtime}.sql > /dev/null
rm -f ${datapath}/${backtime}.sql
fi
done
~
每天4点备份mysql数据;
2,为节省空间,删除超过3个月的所有备份数据;
3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据;
#创建shell文件
vim backup_mysql.sh
mysqldump -uroot -p123456 --all-databases > /data/dbdata/mysqlbak/`date +%Y%m%d`.sql
find /data/dbdata/mysqlbak/ -mtime +7 -name '*[1-9].sql' -exec rm -rf {} \;
find /data/dbdata/mysqlbak/ -mtime +92 -name '*.sql' -exec rm -rf {} \;
#创建定时任务
crontab –e
0 4 * * * /data/dbdata/backup_mysql.sh
- mysql自动备份维护shell脚本
- Mysql 数据库自动备份Shell脚本
- linux下mysql自动备份shell脚本
- linux下mysql自动备份shell脚本 .
- 自动备份mysql数据库 shell脚本
- shell脚本自动备份MySQL数据库
- Mysql 数据库自动备份Shell脚本
- Linux 自动备份MySQL数据库shell脚本
- Mysql 数据库自动备份Shell脚本
- Linux Shell 脚本 自动备份 Mysql 数据库
- MySQL自动备份可通用shell脚本
- 自动备份 MySQL 数据库的 shell 脚本
- linux mysql自动备份shell脚本
- mysql备份shell脚本
- mysql自动备份脚本
- MYSQL自动备份脚本
- mysql自动备份脚本
- 自动备份mysql脚本
- Let’s Build a Compiler
- Git及Github(Odoo代码所在平台)官方入门教程翻译:Learn Git and GitHub without
- UnityException: Can not sign application Unable to sign application; please provide passwords!
- matplotlib-设置绘图横纵坐标的取值范围
- 算法导论(Problems 6-2) d-ary heap(多叉树实现堆)
- mysql自动备份维护shell脚本
- ZOJ
- BLE 协议栈介绍
- spring-data-mongo aggregate结果大于16m时处理方法
- Shadowsocks的搭建及使用
- ueditor jsp版本 后端配置项没有正常加载,上传插件不能正常使用!
- Mosaic布局(类似于瀑布流)
- Tomcat配置虚拟路径,使上传文件与服务器分离
- 二分查找