写了个shell脚本,用于每天凌晨2点30分备份项目中的一个库。
复制代码代码示例:
#rpm -qa |grep vixie-cron
vixie-crom-4.1-44.EL4
查看crond服务的运行状态:
复制代码代码示例:
#service crond status
crond (pid 3065) is running...
2、编写shell脚本:
复制代码代码示例:
#!/bin/sh
#判断备份目录是否存在,如果不存在则创建一个
echo ----------------------------------------- >> $LOGFILE
#更换目录
#执行备份操作
#判断备份是否成功
#创建备份文件压缩包
#删除原备份文件,只留压缩包
#备份失败,发送错误消息到邮箱(需要mailutils或者类似终端下发送邮件工具的支持)
#mail -s “Database:$DATABASE Daily Backup Fail” $WEBMASTER
3、配置定时器: 一个备份MySQL数据库的简单Shell脚本
Shell脚本是写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。(www.jbxue.com 脚本学堂)
这里假定你已知道shell scripting、 mysqldump和crontab。 适用操作系统:任何Linux或UNIX。 主脚本(用于备份mysql数据库): 该Shell脚本可以自动备份数据库。只要复制粘贴本脚本到文本编辑器中,输入数据库用户名、密码以及数据库名即可。我备份数据库使用的是mysqlump 命令。后面会对每行脚本命令进行说明。
1. 分别建立目录“backup”和“oldbackup”
#mkdir /backup
#mkdir /oldbackup
2. 现在使用你喜欢的编辑软件创建并编辑“backup.sh”
#!bin/bash
cd /backup echo “You are In Backup Directory” mv backup* /oldbackup echo “Old Databases are Moved to oldbackup folder” Now=$(date +”%d-%m-%Y--%H:%M:%S”) File=backup-$Now.sql mysqldump –u user-name –p ‘password’ database-name > $File echo “Your Database Backup Successfully Completed”
脚本说明: 执行该脚本,首先会进入 /backup 目录,然后该脚本会把原有的旧数据库备份移动到 /oldbackup 文件夹中,接着根据系统的日期及时间生成一个文件名,在最后 mysqldump 命令会生成一个“.sql”格式的数据库备份文件。
3. 设置 backup.sh 脚本文件的可执行许可
# chmod +x /backup/backup.sh
4、执行脚本
root@Server1:/download#./backup.sh
You areinDownload Directory Old Backup DatabaseisMoved to oldbackup folder database backup successful completed root@Server1:/download# 注:首次执行该脚本会有一个“no such file”的提示信息,这是由于旧备份文件还不存在。只要再次执行该脚本就没有问题了,这个问题已经不存在了。
5、使用cron制订备份计划 |