shell脚本备份数据库

简介:
    刚写了个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= yangfei_luck@163.com     #错误发送邮箱 
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 ,如需转载请自行联系原作者




相关文章
|
3月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
127 1
|
2月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
137 68
|
2月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
73 2
6种方法打造出色的Shell脚本
|
2月前
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
|
2月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
73 1
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
151 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
68 3
|
2月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
72 2
|
3月前
|
存储 定位技术 数据库
介绍一下数据库的备份和恢复策略
【10月更文挑战第21】介绍一下数据库的备份和恢复策略
|
3月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
68 6