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 +x 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
备份脚本
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 2015-5-20 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 -u$USER -p$PASSWORD $DATABASE1 > $DUMPFILE1 #使用mysqldump备份数据库 if [[ $? == 0 ]]; then tar czvf $ARCHIVE1 $DUMPFILE1 >> $LOGFILE 2>&1 #判断是否备份成功,若备份成功,则压缩备份数据库,否则将错误日志写入日志文件中去。 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 [[ $? == 0 ]]; then # tar czvf $ARCHIVE2 $DUMPFILE2 >> $LOGFILE 2>&1 # echo "$ARCHIVE2 BACKUP SUCCESSFUL!" >> $LOGFILE # rm -f $DUMPFILE2 # else # echo “$ARCHIVE2 Backup Fail!” >> $LOGFILE # fi
删除脚本
BACKUPDIR="/usr/local/backup/mysql/" #定义备份文件路径 KEEPTIME=30 #定义需要删除的文件距离当前的天数 DELFILE=`find $BACKUPDIR -type f -mtime +$KEEPTIME -exec ls {} \;` #找到天数大于KEEPTIME天的文件 for delfile in ${DELFILE} #循环删除满足天数大于七天的文件 do rm -f $delfile done
原文地址:https://www.cnblogs.com/suruozhong/p/11550664.html
- NYOJ-------表达式求值
- HDUOJ----1181 变形课
- 正确的Win主机网站伪静态设置方法
- HDUOJ----(1084)What Is Your Grade?
- HDUOJ------(1272)小希的迷宫
- HDUOJ ---1269迷宫城堡
- HDUOJ---1213How Many Tables
- hduoj----(1033)Edge
- HDUOJ----(1031)Design T-Shirt
- HDUOJ----(1030)Delta-wave
- 身份切换脚本,免登入切换权限的利器
- HDUOJ---What Are You Talking About
- HDUOJ-----(1251)统计难题
- HDUOJ-----1541 Stars
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解