mysql使用crontab定时备份
1,
安装crontab
yum install vixie-cron
yum install crontabs
说明:
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
//+++++++++++++++++++++++++++++++++++
cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
查看crontab服务是否已设置为开机启动,执行命令:ntsysv
加入开机自动启动:
chkconfig --level 35 crond on
2,
赋予脚本执行权限
chmod 777 test.sh
添加定时任务
crontab -e
*/5 * * * * /home/test.sh
说明:
运行crontab –e 编写一条定时任务 */5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本
查看当前所有定时任务
crontab -l
删除当前定时任务
每隔12小时备份一次
1 */12 * * * /usr/local/backup/backupMysql.sh
每天凌晨1点删除一个月之前的备份
1 1 * * * /usr/local/backup/delBackupMysql.sh
备份脚本
ADDRESS="120.120.120.120"
PORT="3306"
USER="root"
PASSWORD="数据库密码"
DATABASE1="jxt"
#DATABASE2=zabbix
BACKUP_DIR="/usr/local/backup/mysql" #备份数据库文件的路径
LOGFILE="/usr/local/backup/mysql/data_backup.log" #备份数据库脚本的日志文件
DATE=`date +%Y%m%d-%H%M -d -3minute` #获取当前系统时间-3分钟
DUMPFILE1="$DATE-jxt.sql" #需要备份的数据库名称
#DUMPFILE2=$DATE-zabbix.sql
ARCHIVE1="$DUMPFILE1.gz" #备份的数据库压缩后的名称
#ARCHIVE2=$DUMPFILE2-tar.gz
#cat /usr/local/backup
#!/bin/bash
#Shell Command For Backup MySQL Database Everyday Automatically By Crontab
#time --
if [ ! -d $BACKUP_DIR ]; #判断备份路径是否存在,若不存在则创建该路径
then
mkdir -p "$BACKUP_DIR"
fi echo -e "\n" >> $LOGFILE
echo "------------------------------------" >> $LOGFILE
echo "BACKUP DATE:$DATE">> $LOGFILE
echo "------------------------------------" >> $LOGFILE cd $BACKUP_DIR #跳到备份路径下
/usr/local/mysql/bin/mysqldump -h$ADDRESS -P$PORT -u$USER -p$PASSWORD $DATABASE1 > $DUMPFILE1 #使用mysqldump备份数据库 if [[ $? == ]]; then
tar czvf $ARCHIVE1 $DUMPFILE1 >> $LOGFILE >& #判断是否备份成功,若备份成功,则压缩备份数据库,否则将错误日志写入日志文件中去。
echo "$ARCHIVE1 BACKUP SUCCESSFUL!" >> $LOGFILE
rm -f $DUMPFILE1
else
echo “$ARCHIVE1 Backup Fail!” >> $LOGFILE
fi
# /usr/local/mysql/bin/mysqldump -u$USER -p$PASSWORD $DATABASE2 > $DUMPFILE2
# if [[ $? == ]]; then
# tar czvf $ARCHIVE2 $DUMPFILE2 >> $LOGFILE >&
# echo "$ARCHIVE2 BACKUP SUCCESSFUL!" >> $LOGFILE
# rm -f $DUMPFILE2
# else
# echo “$ARCHIVE2 Backup Fail!” >> $LOGFILE
# fi
删除脚本
BACKUPDIR="/usr/local/backup/mysql/" #定义备份文件路径
KEEPTIME= #定义需要删除的文件距离当前的天数
DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls {} \;` #找到天数大于KEEPTIME天的文件
for delfile in ${DELFILE} #循环删除满足天数大于七天的文件
do
rm -f $delfile
done
mysql使用crontab定时备份的更多相关文章
- MySQL使用crontab定时备份不执行问题
在使用crontab定时备份数据库时,发现并没有执行备份命令. 下面是定时备份的代码: 30 1 * * * /usr/local/mysql/bin/mysqldump --defaults-ext ...
- linux下使用crontab定时备份MYSQL数据库的方法:
摘要 linux下使用crontab定时备份MYSQL数据库的方法: 只需按照下面3步做,一切都在你的掌控之下: 第一步:在服务器上配置备份目录代码: ------------------------ ...
- MySQL定时备份之使用Linux下的crontab定时备份实例
这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下 复制代码代码如下: ##################################### ...
- Linux下MySQL备份以及crontab定时备份
1. 备份某个数据库 ################################################################## # 备份某个数据库 ############ ...
- linux下应用crontab对mysql数据库进行定时备份
linux下应用crontab对mysql数据库进行定时备份 @(编程) mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份. 我写了一个mysqlbackup. ...
- MySQL数据库的定时备份
1. 创建shell脚本 vim backupdb.sh 创建脚本内容如下: #!/bin/sh db_user="root" db_passwd=" db_name=& ...
- Linux实现MYSQl数据库的定时备份
今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...
- Linux下使用crontab定时备份日志
上周学习了Linux,其中有使用crontab定时备份日志的内容,现把主要步骤记录如下: 首先需要备份的日志的源目录位于/opt/lampp/logs/access_log 备份到/tmp/logs下 ...
- Python +crontab定时备份目录发送邮件
公司有一台静态页面展示服务器仅供给客户展示我们做的项目,当时买的时候是最低配,也就是磁盘空间为20G的系统盘,考虑到代码量很小所以没有另加磁盘,后来项目多了,就写了个crontab 定时备份目录. 就 ...
随机推荐
- Struts2之下载
下载页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...
- B+树索引结构解析
一.二分查找法 二分查找法(binary search)也成为折半查找法.用来查找一组有序的记录组中的某一记录. 基本思想是:将记录按有序化(递增或递减)排列,在查找过程中采用跳跃式方法查找,即先以有 ...
- python——datetime模块
一.datetime模块介绍 (一).datetime模块中包含如下类: 类名 功能说明 date 日期对象,常用的属性有year, month, day time 时间对象 datetime 日期时 ...
- python学习第十九天三元运算符与php语言区别
三元运算符是条件语句的简写,常见的条件语句写三行,三元运算符只需要写一行,python三元运算符是怎么写的呢 1,常见条件判断 if a<b: print(a) else: print(b) 2 ...
- JVM(9)之 年轻代收集器
开发十年,就只剩下这套架构体系了! >>> 继续上一篇博文所讲的,STW即GC时候的停顿时间,他会暂停我们程序中的所有线程.如果STW所用的时间长而且次数多的话,那么我们整个系统 ...
- 快速的统计千万级别uv
菜菜,咱们网站现在有多少PV和UV了? Y总,咱们没有统计pv和uv的系统,预估大约有一千万uv吧 写一个统计uv和pv的系统吧 网上有现成的,直接接入一个不行吗? 别人的不太放心,毕竟自己写的,自己 ...
- CentOS7 SSH 密码正确,但仍提示“Permission denied”
我看其他人解决办法,有的是防火墙端口,有的是sshd_config文件的密码登录,有的ip冲突等等,我都按照那些修改了,但是都不通,最后修改了这个,好用了. 看一下SElinux,敲sestatus, ...
- easyapi
create database easyrec; #为easyrec初始化用户名跟密码grant index, create, select, insert, update, drop, delete ...
- Celery与Django的结合
一.什么是Celery Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以实现任务的异步处理以及定时任务的处理,它的基本工作流程是: 先启动任务执行单元Worker,让它一 ...
- jmeter 参数化1_User Parameters(用户参数)
参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则. 脚本在运行时,根据需要选取不同的 ...