这篇文章主要围绕Linuxmysql数据库自动备份脚本策略展开,旨在为您提供一份详细的参考资料。我们将全面介绍Linuxmysql数据库自动备份脚本策略,同时也会为您带来centosmysql数据库自
这篇文章主要围绕Linux mysql数据库自动备份脚本策略展开,旨在为您提供一份详细的参考资料。我们将全面介绍Linux mysql数据库自动备份脚本策略,同时也会为您带来centos mysql数据库自动备份、Linux vps自动备份网站和MYSQL数据库脚本、Linux 下 MySQL 自动备份脚本、linux 服务器自动备份脚本的方法(mysql、附件备份)的实用方法。
本文目录一览:- Linux mysql数据库自动备份脚本策略
- centos mysql数据库自动备份
- Linux vps自动备份网站和MYSQL数据库脚本
- Linux 下 MySQL 自动备份脚本
- linux 服务器自动备份脚本的方法(mysql、附件备份)
Linux mysql数据库自动备份脚本策略
1.创建保存备份文件的文件夹
mkdir /data/MysqLbak
2.编写脚本
cd /data/MysqLbak
vi sqlAutoBak.sh
SH脚本内容:
DB_USER="root" DB_PASS="root" #你的数据库密码
DB_HOST="localhost" DB_NAME="test" #你要备份的数据库
BIN_DIR="/usr/bin" BCK_DIR="/data/MysqLbak" #备份文件存放的位置
DATE=`date +%F` $BIN_DIR/MysqLdump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
3.给脚本赋权限
chown +x /data/MysqLbak/sqlAutoBak.sh
4.制定定时任务
vi /etc/cronta
插入这一行,完成定时任务,这里可以设置定时时间:
00 01 * * * root /data/MysqLbak/sqlAutoBak.sh
这样就可以每天定时的备份数据库了,缺乏机器测试的小伙伴可以去3A网络看看!
centos mysql数据库自动备份
方案一:
1.创建并编辑文件 /usr/sbin/bakMysqL,命令:
vi /usr/sbin/bakMysqL
内容如下:
1 db_user="root" 2 db_passwd="root" 3 db_name="db_test" 4 # the directory for story your backup file.you shall change this dir 5 backup_dir="/usr/software/backup/MysqLbackup" 6 # date format for backup file (dd-mm-yyyy) 7 time="$(date +"%Y%m%d%H%M%s")" 8 9 MysqLdump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql"
注意 -p 和$db_passwd之间没有空格,不然$db_passwd会被当做参数[数据库名]来解析
2.修改文件bakMysqL属性,使其可执行;
chmod +x /usr/sbin/bakMysqL
3.创建定时任务
crontab –e
#进入编辑界面,内容如下
00 23 * * * ./usr/sbin/bakMysqL
#上一行命令的 " . " 不要也可
# 00 23是每天23:00执行 bakMysqL文件,备份数据库在路径/usr/software/backup/MysqLbackup下
|
这种方案我试过,可以成功!
方案二:
步骤如下
建备份文件夹:
?
1 |
|
建脚本文件:
?
1 |
|
打开文件
?
1 |
|
在脚本中加入如下内容:
?
1 2 |
|
检查有没安装crond,如果没有,先安装
?
1 2 |
|
启动服务 :service crond start
在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on
?
1 |
|
加入内容:00 03 * * * source /root/autobackupMysqL.sh
每天凌晨3点运行此文件,对数据库进行备份
?
1 |
|
好了,以上就完成了。
Linux vps自动备份网站和MYSQL数据库脚本
准备将有一台搭建LNMP一键环境使用定期备份数据库和网站文件打包,直接上传到备用FTP空间中。比如可以找一些虚拟主机空间,硬盘存储也是比较大的,直接可以作为备用数据使用。
第一、备份前的准备
1、准备一台FTP主机空间
2、初次使用这个脚本的时候,我们要先备份好数据,以防止万一
3、当前我是在LNMP一键包环境下测试的。
4、安装sendmail组件(yum install sendmail mutt)
第二、下载脚本
http://www.cnbanwagong.com/tools/backup-ftp.sh
第三、修改配置文件
#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root #mysql用户名
MYSQL_PASS=123456 #mysql密码
MAIL_TO=cat@cnbanwagong.com #数据库发送到的邮箱
FTP_USER=cat #ftp用户名
FTP_PASS=123456 #ftp密码
FTP_IP=123.123.123.123 #ftp地址
FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/www/cnbanwagong.com #要备份的网站数据
#你要修改的地方从这里结束
根据我们实际的信息进行修改。然后替换到服务器。
第四、设置权限、设定定期执行
1、设置权限
chmod +x /root/backup-ftp.sh
2、设置定时
crontab -e
然后添加执行脚本
00 01 * * * /root/backup-ftp.sh
设定每天凌晨1点执行。
3、测试是否有效
sh /root/backup-ftp.sh
这里我们可以执行了看看,如果能正常的备份到FTP空间中,说明是没问题的,如果有问题,我们可以重新检查。
Linux 下 MySQL 自动备份脚本
源码 mysqlDump.sh
#!/bin/bash
################################################
# TODO: 备份当前服务器上指定的数据库(多个库,以 , 分隔)
# 示例:
# ./mysqlDump.sh 备份默认设置的数据库
# ./mysqlDump.sh db_name1,db_name2,... 备份指定名称的数据库
#
# Author: whoru.S.Q <whoru@sqiang.net>
# Version: 1.0
################################################
# 数据库连接参数
DB_HOST="127.0.0.1"
DB_USER="root"
DB_PWD=""
DB_PORT="3306"
# 待备份的数据库名称,多个库时以 , 分隔
DB_NAME=
# 备份文件路径
DUMP_FILE_PATH=/opt/backup
function main {
# 参数检查
# 如果当前脚本在执行时传递了参数,则优先级高于当前脚本文件中变量的默认设置
if [ -n "$1" ]; then
DB_NAME=$1
else
if [ ! "$DB_NAME" ]; then
read -p "请输入要备份的数据库名称:" dbname
DB_NAME=$dbname
fi
fi
# 检查备份目录是否存在
if [ ! -d "$DUMP_FILE_PATH" ]; then
mkdir -p $DUMP_FILE_PATH
if [ "$?" -ne "0" ]; then
echo -en "无法创建备份文件目录:$DUMP_FILE_PATH"
exit 1
fi
fi
# 操作开始
OLD_IFS="$IFS"
IFS=","
arr=($DB_NAME)
IFS="$OLD_IFS"
for db in ${arr[@]}
do
# echo "$db"
doDump $db
done
}
function doDump {
echo -en "\n\033[32m==>\033[0m 开始备份数据库:$1\n"
dump_date=`date +%Y%m%d%H%M%S`
dump_file=$1"_"$dump_date".sql"
final_dump_file=$dump_file".tar.gz"
# 备份
# 考虑还原数据库时的通用性,备份的同时不执行压缩操作
$(which mysqldump) -u$DB_USER -p$DB_PWD -P $DB_PORT $DB_NAME > $dump_file
if [ "$?" -ne "0" ]; then
echo -en "操作失败"
exit 1
fi
# 压缩、转移备份的文件
tar -zcvf $final_dump_file $dump_file
mv $final_dump_file $DUMP_FILE_PATH
rm -rf $dump_file
echo -en "\n\033[32m==>\033[0m 备份完成,生成备份文件:$DUMP_FILE_PATH/$final_dump_file\n"
}
# 运行
main $1
使用说明
-
使用前先设置数据库连接参数
-
设置待备份的数据库名称
- 方式一:在脚本文件里修改变量 DB_NAME
- 方式二:运行脚本时动态传参,如
./mysqlDump.sh db_name
注意:脚本运行参数优先级高于脚本文件中的设置;待备份的数据库名称支持多个,以
,
分隔。
示例
[root@local wwwroot]# ./mysqlDump.sh online_v3.0
==> 开始备份数据库:online_v3.0
Warning: Using a password on the command line interface can be insecure.
online_v3.0_20181012164400.sql
==> 备份完成,生成备份文件:/opt/backup/online_v3.0_20181012164400.sql.tar.gz
更新:https://github.com/whorusq/linux-learning/blob/master/shell/mysqlDump.sh
linux 服务器自动备份脚本的方法(mysql、附件备份)
一、创建backup.sh脚本文件
#!/bin/sh SOURCE_FOLDER=/data DB_FOLDER=/data/db BACKUP_FOLDER=/data/backup TM=`date +%Y%m%d%H%M%S` echo start to dump mysql database and backup files at $TM # delete old sql backup files cd $DB_FOLDER rm -rf $DB_FOLDER/*.sql #dump mysql data /usr/bin/mysqldump -h127.0.0.1 -uroot -pcz_pims@2018 --single-transaction --master-data=2 --databases ms > ms-$TM.sql echo dump db pims_hf as pims_hf-$TM.sql /usr/bin/mysqldump -h127.0.0.1 -uroot -ppass --single-transaction --master-data=2 --databases ms_workflow > pims_hf_workflow-$TM.sql echo dump db ms_workflow as pims_hf_workflow-$TM.sql /usr/bin/mysqldump -h127.0.0.1 -uroot -ppass --single-transaction --master-data=2 --databases files > files-$TM.sql echo dump db filesrv as files-$TM.sql # delete backup files which 30 days before than today find $BACKUP_FOLDER/* -type f -mtime +30 -name "*.zip" -exec rm {} \; # compress cd $SOURCE_FOLDER zip -q -r $BACKUP_FOLDER/db-$TM.zip db zip -q -r $BACKUP_FOLDER/files-new.zip files echo zip $SOURCE_FOLDER files and backup to $BACKUP_FOLDER end # 调用系统方式 send notice msg to 钉钉通知 curl -X POST -d "templateCode=003&content=文件备份成功,备份文件保存到此目录: $BACKUP_FOLDER" http://127.0.0.1:8080/admin/do/notify/dingding echo -e end backup files at $TM ''\n\n\n''
二、创建定时任务
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
crontab文件格式:
* * * * * command
minute hour day month week command
分 时 天 月 星期 命令
例如:每周每月每天1点0分执行备份脚本,日志放在backup.log文件中
0 1 * * * /bin/sh /home/script/backup.sh >> /home/script/backup.log 2>&1
若测试脚本是否正常运行,可以手动执行测试
3)、查询当前用户定时任务。
总结
以上所述是小编给大家介绍的linux 服务器自动备份脚本的方法(mysql、附件备份),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
- MySQL备份脚本的写法
- 浅析MySQL 备份与恢复
- 详解mysql的备份与恢复
- MySQL定时备份方案(利用Linux crontab)
- 浅析mysql 定时备份任务
- linux定时备份MySQL数据库并删除以前的备份文件(推荐)
- CentOS7下 MySQL定时自动备份的实现方法
- Mysql备份多个数据库代码实例
- MySQL如何优雅的备份账号相关信息
我们今天的关于Linux mysql数据库自动备份脚本策略的分享就到这里,谢谢您的阅读,如果想了解更多关于centos mysql数据库自动备份、Linux vps自动备份网站和MYSQL数据库脚本、Linux 下 MySQL 自动备份脚本、linux 服务器自动备份脚本的方法(mysql、附件备份)的相关信息,可以在本站进行搜索。
本文标签: