博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本备份数据库
阅读量:6954 次
发布时间:2019-06-27

本文共 1595 字,大约阅读时间需要 5 分钟。

    刚写了个shell脚本,用于每天凌晨2点30分备份项目中的一个库。现做个简单记录,以备查用,也和广大51cto午饭们分享。
1.先确定软件包和crond服务运行情况:
   查看是否安装vixie-crom-4.1-44.EL4软件包
#rpm -qa |grep vixie-cron 

vixie-crom-4.1-44.EL4
  
   查看crond服务的运行状态
#service crond status 

crond (pid 3065) is running...
 
2.编写脚本:
#!/bin/sh    

USER="root" 
#DB用户名 
PASSWORD="pwd" 
#DB密码 

DATABASE="test"    
#DB数据库名 

WEBMASTER=     
#错误发送邮箱 
BACKUP_DIR="/export/home/wwwroot/webapps/testScripting/Data_backup" 
#备份文件存放目录 

LOGFILE="/export/home/wwwroot/webapps/testScripting/Data_backup/data_backup.log"    
#备份日志文件 
DATE=`date +%Y%m%d-%H%M`    
#当前年月日时分 

DUMPFILE=$DATE.sql    
#当前年月日时分作备份文件名 

ARCHIVE=$DATE.sql.tgz    
#压缩包名 

OPTIONS="-u$USER -p$PASSWORD --opt --extended-insert=false --triggers --routines --hex-blob $DATABASE"    
#备份操作 


#判断备份目录是否存在,如果不存在则创建一个 

if [ ! -d $BACKUP_DIR ] ; 

then 

mkdir -p "$BACKUP_DIR" 

fi 


echo ----------------------------------------- >> $LOGFILE 

echo BACKUP DATE: `date +%Y-%m-%d-%H:%M:%S` >> $LOGFILE 

echo Backup Process    Begin >> $LOGFILE 


#更换目录 
cd $BACKUP_DIR 


#执行备份操作 

mysqldump $OPTIONS > $DUMPFILE 


#判断备份是否成功 

if [[ $? == 0 ]]; then 


#创建备份文件压缩包 
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1 

echo [$ARCHIVE] Backup Successful! >> $LOGFILE 


#删除原备份文件,只留压缩包 
rm -f $DUMPFILE 


#备份失败,发送错误消息到邮箱(需要mailutils或者类似终端下发送邮件工具的支持) 
else 

echo “Database Backup Fail!” >> $LOGFILE 


#mail -s “Database:$DATABASE Daily Backup Fail” $WEBMASTER 

fi 

echo Backup Process    End >> $LOGFILE 

echo “Backup Process Done” 

echo ----------------------------------------- >> $LOGFILE
 
3.配置定时器:
  crontab中每一行代表一个任务,格式如下:
minute    hour    day    month    dayofweek    command
     本文转自NightWolves 51CTO博客,原文链接:
http://blog.51cto.com/yangfei520/463035
,如需转载请自行联系原作者
你可能感兴趣的文章
IO多路复用, 基于IO多路复用+socket实现并发请求(一个线程100个请求), 协程
查看>>
大白话Vue源码系列(03):生成AST
查看>>
Android 微信第三方登录
查看>>
Java中保留小数点后几位
查看>>
利用 Python_tkinter 完成 2048 游戏
查看>>
洛谷P2756 飞行员配对方案问题
查看>>
vsftpd安装
查看>>
DataSet
查看>>
Python之路【第零篇】:目录篇
查看>>
so加载报错:dlopen failed: couldn't map ... Permission denied
查看>>
LCA(st算法)
查看>>
常去的网站与常用的软件
查看>>
StyleCop 官网
查看>>
UOJ131 [NOI2015] 品酒大会
查看>>
第三章 CLR如何解析引用类型
查看>>
转:Redis监控工具—Redis-stat、RedisLive
查看>>
[LintCode] 通配符查询
查看>>
Excel,2010,可以独立打开窗口
查看>>
BZOJ3238:[AHOI2013]差异——题解
查看>>
DOIS 2019 DevOps国际峰会北京站来袭~
查看>>