1.操作系统
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-53.el5PAE (mockbuild@builder6.centos.org) (gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)) #1 SMP Mon Nov 12 02:55:09 EST 2007
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5 (Final)
2.数据库 用户名root 密码china123
mysql> status
--------------
mysql Ver 14.14 Distrib 5.1.50, for pc-linux-gnu (i686) using readline 5.1
3.备份整库脚本Shell
3.1 备份方式一:单库备份,备份到/tools/db_backup/pgs与/tools/db_backup/iteye下,自动删除3天前的文件
backup_pgs_byday.sh内容为
#! /bin/bash
mysqldump -cp --user=root --password='china123' pgs | gzip > /tools/db_backup/pgs/pgs-`date +%Y%m%d%H`.sql.gz ;
mysqldump -cp --user=root --password='china123' iteye | gzip > /tools/db_backup/iteye/iteye-`date +%Y%m%d%H`.sql.gz ;
find /tools/db_backup/pgs -type f -ctime 3 -exec rm -f {} \;
find /tools/db_backup/iteye -type f -ctime 3 -exec rm -f {} \;
3.2 备份方式二:备份上一个月指定表的数据,,备份到/tools/db_backup/pgs_bak 下
backup_his_bymonth.sh内容为
#! /bin/bash
YEAR="`date +"%Y"`"
MON1=`date +"%m"`
if [ $MON1 -eq 01 ]; then
{
MONTH=12
YEAR=`expr $YEAR - 1`
};
else
{
MON2=`expr $MON1 - 1`
if [ $MON1 -lt 10 ]; then
SUPP=0
MONTH="$SUPP$MON2"
fi
};
fi
MYDATE="$YEAR-$MONTH"
mysqldump -cp -t --single-transaction --user=root --password='china123' --where="DATE_FORMAT(donetime,'%Y-%m') = '`expr $MYDATE`'" pgs T_NODE_INSTANCE | gzip > /tools/db_ba
ckup/pgs_bak/T_NODE_INSTANCE_`expr $MYDATE`_BAK.sql.gz;
mysqldump -cp -t --single-transaction --user=root --password='china123' --where="DATE_FORMAT(donetime,'%Y-%m') = '`expr $MYDATE`'" pgs T_NODE_INSTANCE_HIS | gzip > /tools/db_ba
ckup/pgs_bak/T_NODE_INSTANCE_HIS_`expr $MYDATE`_BAK.sql.gz;
4.定时任务
4.1查看定时任务
[root@localhost /]# crontab -u root -l
4.2编辑定时任务
[root@localhost /]# crontab -u root -e
0 1 * * * /tools/db_backup/backup_pgs_byday.sh
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh
4.3解释
0 1 * * * /tools/db_backup/backup_pgs_byday.sh 表示每天的凌晨1点开始备份
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh 表示每个月1号的凌晨1点开始备份
4.4开启crontab服务
[root@localhost /]# /sbin/service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
4.5再次查看是否存在
[root@localhost /]# crontab -u root -l
0 1 * * * /tools/db_backup/backup_pgs_byday.sh
0 1 1 * * /tools/db_backup/backup_his_bymonth.sh
分享到:
相关推荐
linux下mysql定时备份
linux下mysql定时备份 shell脚本已经转码,亲测可直接运行。内附添加定时任务步骤
linux下mysql定时备份汇编.pdf
linux下mysql定时备份整理.pdf
linux下mysql定时备份宣贯.pdf
linux中mysql定时备份shell脚本,生产环境中使用过,只需要脚本中相应的ip地址、端口、账号和密码就可以使用
linux服务器如何每天定时的备份mysql,linux服务器如何每天定时的备份mysql
利用 crontab -e 将此脚本加入即可,主要是用于linux服务器定时自动备份mysql数据库的脚本sh
利用crontab,系统每天定时备份mysql数据库 利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。 1、创建保存备份文件的路径/mysqldata #mkdir /mysqldata 2、创建/usr/sbin/...
用于Linux系统下的mysql数据库定时备份
Linux下定时备份MySQL数据库的Shell脚本.pdf
mysql自动备份shell脚本,下载放到root下载etc/crontab中加入定时启动命令
linux mysql定时备份 删除N天前的备份 异地拷贝
通过linux的自定义sh脚本,结合linux定时任务,实现mysql定时备份。备份脚本支持超过一定时间后自动删除。
利用Crontab为Linux定时备份Mysql数据库
主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
利用系统Crontab来定时执行备份文件,按日期对备份结果进行保存,可以达到备份的目的。本文介绍了利用Crontab为Linux定时备份Mysql数据库的步骤。
两个linux下mysql数据库备份脚本,带压缩功能,定时删除,附带脚本说明,运维必知的,自己上传防止丢失,经典脚本,因为百度有很多表述不清,所以自己总结了这些脚本,作为个人知识库,分享给所有人
window和linux 下的mysql 增量备份/全量备份脚本。可以配合window计划任务或linux定时任务执行备份