-
2022-04-01 11:34:19
#!/bin/bash #这是一个简单化到MYSQL数据库逻辑备份脚本 #1.定义数据库链接,目标库信息 MY_user="root" MY_pass="123456" MY_host="127.0.0.1" MY_conn="-u $MY_user -p$MY_pass -h $MY_host" MY_db1="mydb" #MY_db2="yyyy" #2.定义备份目录,工具,时间,文件名 BF_dir="/u01/mysql_bak_data/" BF_cmd=/usr/bin/mysqldump BF_time=`date +%Y%m%d-%H%M` name_1="$MY_db1-$BF_time" #name_2="$MY_db2-$Bf_time" #定义过期时间 expire_days=7 #3先导出为.sql脚本,然后再进行压缩(打包后删除源文件) cd $BF_dir $BF_cmd $MY_conn --databases $MY_db1 > $name_1.sql #$BF_cmd $MY_conn --databases $MY_db2 > $name_2.sql /bin/tar zcf $name_1.tar.gz $name_1.sql --remove &> /dev/null #/bin/tar zcf $name_2.tar.gz $name_2.sql --remove &> /dev/null # 删除过期数据 find -name "$MY_db1-*.tar.gz" -type f -mtime +$expire_days -exec rm -rf {} \; > /dev/null 2>&1` #find -name "$MY_db2-*.tar.gz" -type f -mtime +$expire_days -exec rm -rf {} \; > /dev/null 2>&1`
更多相关内容 -
mysql定时备份脚本
2014-08-11 23:28:39用于Linux系统下的mysql数据库定时备份 -
Mysql定时备份脚本
2021-10-20 09:57:41mysql_user="root" #MySQL备份用户 mysql_password="123456" #MySQL备份用户的密码 mysql_host="222.74.0.138" mysql_port="3306" mysql_charset="utf8" backup_db_arr=("workport" "jeecms20201201") backup_...数据库定时备份脚本如下:
在linux cron定时任务启动上面的脚本即可运行。
#!/bin/bash mysql_user="root" #MySQL备份用户 mysql_password="123456" #MySQL备份用户的密码 mysql_host="222.74.0.138" mysql_port="3306" mysql_charset="utf8" backup_db_arr=("workport" "jeecms20201201") backup_location=/home/mysqlback expire_backup_delete="ON" expire_days=15 backup_time=`date +%Y%m%d%H%M` backup_Ymd=`date +%Y-%m-%d` backup_3ago=`date -d '3 days ago' +%Y-%m-%d` backup_dir=$backup_location/$backup_Ymd welcome_msg="Use MySQL backup tools!" # 判断MYSQL是否启动,mysql没有启动则备份退出 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l` if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then echo "ERROR:MySQL is not running! backup stop!" exit else echo $welcome_msg fi # 连接到mysql数据库,无法连接则备份退出 mysql -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password <<end use mysql; select host,user from user where user='root' and host='localhost'; exit end flag=`echo $?` if [ $flag != "0" ]; then echo "error:Can't connect mysql server! backup stop!" exit else echo "mysql connect ok! Please wait......" # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份 if [ "$backup_db_arr" != "" ];then #dbnames=$(cut -d ',' -f1-5 $backup_database) #echo "arr is (${backup_db_arr[@]})" for dbname in ${backup_db_arr[@]} do echo "database $dbname backup start..." `mkdir -p $backup_dir` `mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password $dbname --default-character-set=$mysql_charset | gzip > $backup_dir/$dbname-$backup_time.sql.gz` flag=`echo $?` if [ $flag == "0" ];then echo "database $dbname success backup to $backup_dir/$dbname-$backup_time.sql.gz" else echo "database $dbname backup fail!" fi done else echo "error:no database to backup! backup stop" exit fi # 如果开启了删除过期备份,则进行删除操作 if [ "$expire_backup_delete" == "ON" -a "$backup_location" != "" ];then #`find $backup_location/ -type d -o -type f -ctime +$expire_days -exec rm -rf {} \;` `find $backup_location/ -type d -mtime +$expire_days | xargs rm -rf` echo "Expired backup data delete complete!" fi echo "All database backup success!" exit fi
-
CentOS下mysql定时备份Shell脚本分享
2021-01-10 06:22:331、备份语句 代码如下: # /usr/local/mysql/bin/mysqldump -utest -ptest test –socket=/tmp/mysql.3306.sock > /usr/local/mysql_backup/3306/test-`date +%Y%m%d`.sql.gz 语句说明: /usr/local/mysql/... -
mysql定时备份(linux脚本).zip
2020-08-10 15:34:12linux中mysql定时备份shell脚本,生产环境中使用过,只需要脚本中相应的ip地址、端口、账号和密码就可以使用 -
LINUX环境MySQL定时备份脚本
2021-05-12 09:16:27(0)备份目标备份:tel数据库目录:/mysqlbackup/策略:每天3点(1)创建一个备份用户,用户名未backup 密码backupmysql>grant all on tel.to 'backup'@'localhost' identified by "backup";提供更小的权限:mysql>...(0)备份目标
备份:tel数据库
目录:/mysqlbackup/
策略:每天3点
(1)创建一个备份用户,用户名未backup 密码backup
mysql>grant all on tel.to 'backup'@'localhost' identified by "backup";
提供更小的权限:
mysql>grant select,show view,lock tables,trigger on tel. to 'backup'@'localhost' identified by "backup";
(2)编写备份脚本
shell> vim mysql_backup.sh
#!/bin/sh
###定义变量####
date=date +%Y%m%d
ago10date=date -d"10 day ago" +"%Y%m%d"
backuser=backup
db_host=localhost
backupdir=/mysqlbackup
###判断存放目录是否存在####
if [ ! -d $backupdir ]
then
mkdir -p $backupdir
fi
###判断第二级存放目录是否存在####
if [ ! -d $backupdir/$date ]
then
mkdir -p $backupdir/$date
fi
##########执行备份命令#############
/usr/bin/mysqldump -u$backuser -h $db_host -p'backup' --single-transaction tel > "$backupdir/$date/tel.sql"
##########删除10天前的备份#########
if [ -d $backupdir/$ago10date ]
then
rm -rf $backupdir/$ago10date
fi
(3)添加执行权限
shell>chmod +x mysql_backup.sh
(4)添加定时任务
shell> crontab -l
3 * /usr/bin/sh /mysqlbackup/mysql_backup.sh
-
mysql 定时备份 bat 脚本 文件
2016-07-19 09:35:10mysql 定时备份 bat 脚本 ,可以方便简介的定时备份数据库,热备份 -
Windows下MySQL定时备份脚本
2020-09-02 23:15:36在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合。其中,MySQL数据库备份,起到关键作用是mysqldump。有关于mysqldump命令的用法,可以找MySQL的官方文档了解。 1 ...在windows服务器上,想要定时备份数据库数据,可采用windows的任务计划程序+数据库备份脚本组合。其中,MySQL数据库备份,起到关键作用是mysqldump。有关于mysqldump命令的用法,可以找MySQL的官方文档了解。
1 备份脚本
@echo off echo 设置MySql数据库的连接信息 set host=127.0.0.1 set port=3306 set user=root set pass=admin echo 设置要备份MySql数据库名称 set dbname=test echo 获取当天的日期格式,例如:20200902231300 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2% echo 设置备份文件的路径 set backupfile=D:\mysql\beifen\%dbname%-%backup_date%.sql echo 使用mysqldump对指定的MySql进行备份 echo 注意路径中有空格的要加上双引号 "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile% echo 删除过期文件,这里是超过30天就删除 forfiles /p D:\mysql\beifen /s /m *.sql /d -30 /c "cmd /c del @file /f"
2 备份成功截图
-
linux mysql定时备份脚本
2015-06-19 15:03:32linux下mysql定时备份 shell脚本已经转码,亲测可直接运行。内附添加定时任务步骤 -
shell脚本实现mysql定时备份、删除、恢复功能
2020-09-09 00:33:08主要介绍了shell脚本实现mysql定时备份、删除、恢复功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 -
mysql自动备份脚本
2018-01-26 17:32:44linux下定时自动备份mysql数据库,并保存备份文件与备份日志到指定路径下。 -
CentOS7下 MySQL定时自动备份的实现方法
2020-09-08 23:26:02主要介绍了CentOS7 下MySQL定时自动备份的实现方法,主要实现了数据库备份,清理过期备份文件功能,需要的朋友可以参考下 -
Windows服务器如何编写多个MySQL数据库定时备份脚本
2022-02-23 09:15:551.Windows服务器下 2、设置每日定时备份多个数据库 3、备份到执行目录下 4、记录数据库状态及日志备份日志 5、可支持删除多少天前的备份 -
MySql定时备份脚本
2019-09-23 11:27:14最近需要对某服务的数据库数据进行备份,因此参考网上教程完成数据库备份脚本. 因为服务的使用频率较低,因此设置定时任务,在每天的中午以及午夜时分进行备份操作. #!/bin/bash # 设置mysql的登录用户名和密码(根据... -
Windows下MySQL定时备份脚本的实现
2022-05-10 09:20:53echo 设置要备份MySql数据库名称 set dbname=test echo 获取当天的日期格式,例如:20200902231300 set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set backup_date=%Da. -
windows平台mysql定时备份脚本(bat批处理)
2016-10-28 11:53:53以前一直使用复制文件的方式来备份数据库文件,因为这种方式必须停止mysql数据库,比较繁琐,数据量大后,停止mysql的时间也变的很长,影响网站优化,因而参考网上方法写了如下脚本,大鸟就不用看了,如有什么bug或好的方法... -
Ubuntu 系统下的 mysql 定时备份脚本
2021-02-04 11:13:57完成定时备份功能主要分为两步,第一步创建备份脚本,第二步设置定时运行。创建一个文件夹,用来存放备份文件。路径可以随意,下面是我举的例子 /home/database_backup/之后,创建备份脚本。在终端输入:#vim /usr/... -
MySQL数据库定时备份脚本
2021-07-30 09:42:45#!/bin/bash ...DB_USER="root" DB_PWD="root" DB_IP="127.0.0.1" DB_PORT="3306" DB_DIR="/usr/" ...#指定备份的数据库,可以指定多个中间用空格隔开,或者不指定则默认全部备份 BAK_DATABASES=("test" "m. -
Mysql自动备份脚本
2021-01-18 19:13:19我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的...