linux配置定时备份mysql数据库
1、创建备份目录
# mkdir /mydata/bak
2、创建备份脚本
# vi /usr/sbin/bakmysql.sh
#!/bin/bash
#Name:bakmysql.sh
#This is a shellscript for atuo db backup and delete old backup.
#Jxy
#
bakdir=/mydata/bak
time=`date +%Y%m%d`
mysql_bin_dir=/usr/local/mysql/bin
#备份并压缩
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf sys|gzip > "$bakdir/sys"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf iportal|gzip > "$bakdir/iportal"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf kino|gzip > "$bakdir/kino"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf connector|gzip > "$bakdir/connector"_"$time.sql.gz"
sleep 300
$mysql_bin_dir/mysqldump --defaults-extra-file=/etc/my.cnf hfy|gzip > "$bakdir/hfy"_"$time.sql.gz"
#删除创建时间大于90天的备份文件
/bin/find $bakdir -name "sys_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "iportal_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "kino_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "connector_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
/bin/find $bakdir -name "hfy_*.sql.gz" -type f -mtime +90 -exec rm {} \; > /dev/null 2>&1
3、为脚本添加执行权限
# chmod 700 /usr/sbin/bakmysql.sh
4、添加定时任务
# crontab -e
7 3 * * 6 root /usr/sbin/bakmysql.sh
#每周六03:07执行脚本
5、查看定时任务是否添加成功
# crontab -l
6、重启crontab
# /etc/rc.d/init.d/crond restart 或者service crond restart
7、恢复数据备份文件:
非压缩备份文件恢复:
# mysql -u root -p dataname < name20XXXXXX.sql
从压缩文件直接恢复:
# gunzip < name20XXXXXX.sql.gz | mysql -u root -p dataname
或:
# zcat name20XXXXXXXX.sql.gz | mysql -u root -p
Mysql5.6+ mysqldump报错 Warning: Using a password on the command line interface can be insecure.
1、修改数据库配置文件,/etc/my.cnf或/etc/my.conf
在[client]部分添加脚本:
host=localhost
user=数据库用户
password='数据库密码'
2、采用命令导出和导入数据库
#导出数据库
# mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql
#导入数据库
# mysql --defaults-extra-file=/etc/my.cnf database < database.sql
linux配置定时备份mysql数据库的更多相关文章
- Linux下定时备份MySQL数据库的Shell脚本
Linux下定时备份MySQL数据库的Shell脚本 对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间 ...
- linux设置定时备份mysql数据库
最近写自己的项目,买了阿里云服务器,可以在云上根据自己想到的需求随意使用技术,感觉很爽.备份mysql流程如下: 环境:CentOS Linux release 7.2.1511 (Core) mys ...
- linux上定时备份mysql数据库
定时备份数据库 /usr/sbin/backupmysql timestamp=`date +"%Y-%m-%d-%H-%M-%S"` mysqldump -uroot -p'12 ...
- 让linux每天定时备份MySQL数据库并删除五天前的备份文件
MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1. ...
- Linux实现定时备份MySQL数据库并删除30天前的备份文件
1. MySQL5.6以上版本 2. 修改 /etc/my.cnf 文件 # vim /etc/my.cnf [client] host=localhost user=你的数据库用户 password ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- Linux shell实现每天定时备份mysql数据库
每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据: 需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3 ...
- Linux下自动备份MySQL数据库并上传到远程FTP服务器
Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...
- 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件
项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...
- 定时备份mysql数据库的shell脚本
最近项目需要定时备份mysql数据库的数据,根据需求写了一份定时备份mysql数据库的脚本. -h mysql的地址 默认为localhost -P 端口号 默认为3306 -u 用户 默认为r ...
随机推荐
- Vmware-workstation - Centos8.0扩容磁盘空间 / 目录
1. 软件版本 vmware workstation 15 pro 虚拟机: centos8.0 2.将虚拟机关机选择扩容到多大 3. 进入操作系统,执行lsblk查看sda盘的情况.下图所示,需要 ...
- clearfix解决高度塌陷和外边距重合问题
- Win10官方1909版本无法打开windows安全中心中病毒和威胁防护的实时保护解决方案。
进入手痒难耐,将电脑操作系统重新安装了win10 专业工作站版 1909版,但是装完软件激活后,发现windows安全中心的"病毒和威胁防护"中的所有项目都是关闭的,试着重新安装也 ...
- linux run/media/wang/centos_磁盘爆满
在使用iso安装了linux系统后,会有个 /run/media/wang/CentOS 7 x86_64 无法删除,这个是我们安装程序时的安装驱动, 登陆用户后将他卸载就可
- C - Frog Jumps
C - Frog Jumps 思路:青蛙跳的问题,青蛙只能跳'R',不能跳'L',问青蛙至少跳多少可以跳过,我们可以这么想这个问题,找到所有R之间的L,看看哪个L多,计算数量即可 代码: #inclu ...
- 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请
目录 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请 git内容大回顾 今日内容概要 今日内容详细 1 为开源项目贡献代码 2 p ...
- 在输入shell命令的list_namespace时,报 :org.apache.hadoop.hbase.PleaseHoldException: Master is initializing。
今天弄了一下午这个问题,弄到了将近十点,终于解决了,终于解决这个问题了,感谢旭旭大佬相助,不再报错了. 本来今天中午,我已经弄好了,结果我午睡了一下再看就报错了,哎.今天本来已经绝望了,后来问了一下大 ...
- Linux磁盘占满处理
按一下操作查看大文件在哪里, 清理大文件. 你切换到 / du -sh * 进入占用多的目录,再使用du -sh *找到下一个大目录. 以此类推,删除无用大文件
- synchronized与CAS
参考:java3y<对线面试官> synchronized synchronized是⼀种互斥锁,⼀次只能允许⼀个线程进⼊被锁住的代码块synchronized是Java的⼀个关键字,它能 ...
- uniapp与原生交互
1.项目中引入 DSBridge.js 文件 var bridge = { default: this, call: function(b, a, c) { var e = ""; ...