/bin/sh # 备份数据库 # Mysql 用户名密码 MYSQL_USER=root MYSQL_PASS=root BACKUP_DIR=/data/backup/mysql DATA_DIR...="mysql_"$DATE".gz" # 删除一个月之前的数据库备份 find $BACKUP_DIR -name "mysql_*.gz" -type f -mtime +30 -exec rm...{} \; # 循环备份数据库 for DBNAME in $DBS do if [ !.../bin/bash # 要备份的数据库名,多个数据库用空格分开 databases=(db1 db2 db3) # 备份文件要保存的目录 basepath='/root/backup/b3log.org...然后使用 crontab 设置该脚本定时执行: crontab -e 设置为凌晨 3 点执行: 0 3 * * * /root/backup_mysql.sh ----
1、分库备份 !/bin/bash image.png 2、分库分表备份 !/bin/sh image.png [ !
路 获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库 通过mysqldump来for循环导出所有的数据库的sql文件 用zip加密压缩所有的sql文件 定期进行数据清理工作 shell代码.../bin/bash #1.数据库信息定义 mysql_host="192.168.1.1" mysql_user="root" mysql_passwd="root"...-d $back_dir ]; then mkdir -p $back_dir fi #备份的数据库数组 db_arr=$(echo "show databases...;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host) #不需要备份的单例数据库 nodeldb="test1" #当前日期...= 0 ]; then rm -r $data_dir fi 数据定期清理脚本 作用定期清理14天前的备份文件 shell代码 #!
/bin/bash mysql_host="localhost" mysql_user="xxxx" mysql_pwd="xxxxx" #保存备份sql的文件路径 db_dir="/data/backup...-d $db_dir];then # mkdir $db_dir #fi db_arr=$(echo 'show databases' | mysql -u$mysql_user -p$...mysql_pwd -h$mysql_host) #获得当前日期 date=$(date +%Y%m%d) ziname=$date".zip" #指定的数据库文件 thisdb="zzaly"...-p$mysql_pwd -h$mysql_host $dbname > $db_dir"/"$sqlfile fi done find $db_dir -mtime +5 -type f |...xargs rm -f #删除5天前的数据库
每天固定时间用mysqldump 备份mysql数据。 #!.../bin/bash 每天早上4点, mysql备份数据 orangleliu chmod 700 backup.sh crontab -e 0 4 * /home/erya/run/moniter/...mysql_backup.sh user="radius" password="" host="localhost" db_name="radius" backup directory base_dir...="/home/backup" backup_log="${base_dir}/mysql_backup.log" backup_path=${base_dir} file info date=$(date
完全备份指定数据库 DIR=/database/backupdir FILE_NAME=`date +%y%m%d%H` FILE_NAME=$DIR/db_$FILE_NAME.sql.gz echo...quick --routines --single-transaction --master-data=1 db_name | gzip > $FILE_NAME echo finish backup 从备份的文件恢复数据库...#db restore abc gunzip mysql --user=dbuser --password=dbpwd --port...=3336 --host=10.10.20.1 --database=test 在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql...的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加 log-bin=mysql-bin 然后重新启动mysql服务,问题就解决
案例需求 写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。...脚本应用场景: 文件备份 解决问题 日常文件备份 日常数据备份 脚本思路 1、确定binlog的位置及备份时间间隔 每天 当前要备份的binlog是谁 .../bin/bash #Description: #Author: www.zutuanxue.com #Created Time: #将mysql的binlog日志备份到备份服务器 ######...='/var/lib/mysql' current_binlog=`mysql -u $db_user -e "show master status"|egrep "binlog....[[:digit:]]*"|awk '{print $1}'` date >> $log #准备备份 #1 刷新binlog mysql -u $db_user -e "flush logs"
下面是脚本user="root" #备份用户密码 password="111111" #mysql连接端口 port="3306" mysql_path="/usr/bin/" date=$(date...-e $backup_path/${date} ];then mkdir -p {$backup_path/${date},$backup_log_path} fi #echo "开始备份所有数据库"...:${date} 备份方式:mysqldump 备份数据库:$dbname($size) 备份状态:成功!"...>>$backup_log else cd $backup_path/${date} echo "备份时间:${date} 备份方式:mysqldump 备份数据库:${dbname} 备份状态:失败,.../ echo "备份时间:${date} 备份方式:云备份数据库:$dbname($size) 备份状态:成功!"
一、任务描述: 写一个自动化脚本,每天2点将school数据库的score表备份并上传到FTP服务器backup目录。 二、程序代码 #!...58.220.207.226 &> /dev/null 00 02 * * * sh auto_backup.sh &> /dev/null 四、测试效果 这里为了测试方便,将时间调整为每分钟做一次备份
192.168.1.2服务器对192.168.1.1服务器上的MySQL数据库进行备份。...必须满足的条件: 1、在192.168.1.1服务器上创建专门用来备份的数据库账号,并赋予相应的权限: mysql> grant select,lock tables on *.* to 'operator...'@'192.168.%.%' identified by '123456'; #备份数据库需要账号具有查看表和锁定表的权限 2、在192.168.1.2服务器上使用该账号进行手工备份,测试是否可以备份成功...#编写shell脚本 #!...bak="/opt/backup" #指定备份目录 cmd="/usr/local/mysql/bin/mysqldump" #指定命令工具 time=`date +%Y%m
# 创建执行脚本 tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响) ☞ tar...感觉,这个技术含量不如 —— 使用 XtraBackup 进行数据热备 ---- Shell 脚本自动备份 不过,这种方式需要 MySQL 服务开启,不然无法备份数据 个人觉得有点像热备份 但是,...exit else echo $welcome_msg fi # 连接到mysql数据库,无法连接则备份退出 mysql -h$mysql_host -P$mysql_port -u$mysql_user..." # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份 if [ "$backup_db_arr" !.../test_pxc-202101291229.sql 参考文章 —— 【CentOS MySQL 自动备份 shell 脚本】 【题外话】 个人觉得 这种方式倒是挺适合本地测试或者小型项目
前言 来自网上,可以使用,注意先创建 /mysql/backup/files /mysql/backup/logs 文件夹 #!.../bin/bash #备份目录 BACKUP_ROOT=/mysql/backup BACKUP_FILEDIR=$BACKUP_ROOT/files BACKUP_LOGDIR=$BACKUP_ROOT.../logs #当前日期 DATE=$(date +%Y%m%d) ######备份###### #查询所有数据库 #-uroot -p123456表示使用root账号执行命令,且root账号的密码为...:123456,-Ev后面是要忽略的数据库 DATABASES=$(mysql -uroot -p'123456' -e "show databases" | grep -Ev "Database|sys...|information_schema|performance_schema|mysql") echo $DATABASES #循环数据库进行备份 for db in $DATABASES do echo
尝试写了一个 shell 脚本来备份站点,话说之前要么是懒得备份,要么是人肉备份,自从另一台vps被黑了之后,也是长记性了,虽然写的不咋地,但备份一下文件,还是绰绰有余的。 #!...------------------------------------------------------------+" echo "| Welcome to use this shell...所在主机的主机名 DB_USERNAME="root" #mysql登录用户名 DB_PASSWORD="root" #mysql登录密码...DATABASES=( "pic" #备份的数据库名 ) for DATABASE in ${DATABASES[@]};do...echo "[+] Mysql-Dumping: ${DATABASE}" echo -n " Began: ";echo $(date) if $(mysqldump -h ${
/bin/sh bk_to="/var/mysql-backup-`date +%Y-%m-%d-%k-%M-%S |tr -d ' '`" user_name="root" user_pw="dev"...sql=" flush tables with read lock; system cp -pR /var/lib/mysql $bk_to; unlock tables; " mysql -u
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行。在脚本中可设置需要备份的数据库表清单,并且会将备份文件通过gzip压缩。...需要注意的是,这段脚本仅适用数据一致性要求不高的环境。 #!.../bin/bash mysql_pwd="password" mysql_dump="/usr/local/mysql/bin/mysqldump" cur_year=$(date +"%Y") cur_month...=$(date +"%m") cur_day=$(date +"%d") dump_path="/usr/backup/mysql/$cur_year-$cur_month/$cur_day" arr_tables...-p$mysql_pwd --opt mydb $cur_table | gzip > $dump_path/$cur_table.sql.gz done 阳光部落原创,更多内容请访问 http://
Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。我们也可以逐一敲入命令手动执行。...如果我们要使用shell脚本就必须在一开始把这些命令写到一个文本文件中,以后就可以随意反复运行这些命令了。 我首先要在本文带给你的是完整脚本。后面会对该脚本做说明。...主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。...执行该脚本,首先会进入 /backup 目录,然后该脚本会把原有的旧数据库备份移动到 /oldbackup 文件夹中,接着根据系统的日期及时间生成一个文件名,在最后 mysqldump 命令会生成一个“....sql”格式的数据库备份文件。
概述 每天定时远程或者本地备份mysql数据库,并且保存最新7天的备份内容。 脚本内容 [root@myhost ~]# cat /home/script/mysqlbackup.sh #!...,mysqldump and other bin's path MYSQL_COMMDAND="" #根据自己的数据库安装路径决定 MYSQLDUMP_COMMAND="" #根据自己的数据库安装路径决定...$next_int" fi done exit 0; 定时任务 数据库备份的定时任务尽量避开数据库访问的高峰期,可以选择在半夜执行。...[root@myhost ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME...-09-29.dbname.gz && ll #解压备份文件之后文件名: 2019-09-29.dbname [root@myhost ~]# cat 2019-09-29.dbname >
bak.log Date=date +%Y%m%d cd $BakDir DumpFile=Date.sqlBZDumpFile=Date.sql.tar.bz2/usr/bin/mysqldump -u数据库登录帐号...-p数据库密码 --all-databases > DumpFile/bin/tar jvcf BZDumpFile DumpFile/bin/rm DumpFile openssl enc -k 备份加密密码...-d mysql_zip="/home/mysql_backup/data"/lvshan_zip.zip mysql_back="/home/mysqlbackup/data"/lvshandata...mysql_zip mysql_data/bin/rm mysql_data openssl enc -k 备份加密密码 -aes-128-ecb -e -in mysql_zip -out mysql_back.../bin/rm scp -P 6008 $mysql_back root@ip:/home/mysql_backup_lvshan_ip
/bin/bash host="目标ip" id="用户名" pwd="密码" dbs=$(echo "show databases;" | mysql -u$id -p$pwd -h$host) nodeldb...="Database information_schema performance_schema test mysql" backuppath="/root/mysqlbackup" day=15 localIp...-d $backuppath ] &&mkdir -p $backuppath cd $backuppath backupname=mysql_$(date +%Y-%m-%d) for db in $...== "0" ] then echo $(date +%Y-%m-%d)" $localIp $host $db mysqldump sucess">>mysql.log else...echo $(date +%Y-%m-%d)" $localIp $host $db mysql dump failed">>mysql.log echo $(date +%
领取专属 10元无门槛券
手把手带您无忧上云