写了一个备份mysql的小脚本.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash BACKUP_DIR=/var/www/mysql_backup/ # 备份文件存放的目录 BACKUP_COMMAND=/usr/bin/mysqldump # mysqldump命令的路径 BACKUP_USER=root # 数据库备份的用户 BACKUP_PASSWORD= # 备份用户的密码 DATE=`date +%F ` # 获取年月日 YEAR=`date +%Y` # 获取年份 MONTH=`date +%m` # 获取月份 DIR="$BACKUP_DIR/$YEAR/$MONTH" #最终生成的备份目录,形如 2015/05/ 这样,以年月的目录结构 BACKUP_DBS=(abl_product) # 要备份的数据库,多个的话使用空格隔开 # 用于判断要备份的目录是否存在,不存在则创建出来 if [ ! -e $BACKUP_DIR/$YEAR/$MONTH ];then mkdir -p $BACKUP_DIR/$YEAR/$MONTH; fi # 循环备份所有的数据库 for db in ${BACKUP_DBS[@]} ; do $BACKUP_COMMAND -u $BACKUP_USER -p $BACKUP_PASSWORD $db > $DIR/${db}_$DATE.sql; cd $DIR/ && tar cjf ${db}_$DATE.tar.gz ${db}_$DATE.sql && rm -rf ${db}_$DATE.sql; done |