shell脚本自动远程备份多个数据库到本地服务器
shell脚本自动远程备份多个数据库到本地服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
#!/bin/bash #author libertyspy #link http://www.lastme.com # # yum install mysql.x86_x64 # apt-get install mysql-client # MUSQL_DUMP='/usr/bin/mysqldump' MKDIR='/bin/mkdir' TAR='/bin/tar' RM='/bin/rm' DB_HOST="192.168.10.123" #远程数据库主机,也可以是本地 DB_USER="root" #mysql用户名 DB_PASS="admin" #mysql密码 DB_PORT=3306 #mysql连接端口 DB_NAME=(linux hacker user) #需要备份的数据库名,多个以空格分开 date_time=`date +%Y-%m-%d-%H_%M_%S` backup_dir='/home/backup/' #备份目录 log_dir='/home/backup' #日志目录 if [ ! -d $backup_dir/${date_time} ];then $MKDIR -p ${backup_dir}/${date_time} fi cd ${backup_dir} for the_db in ${DB_NAME[@]} do echo "[`date +%Y-%m-%d-%H:%M:%S`] Starting backup the database : ${the_db} ... ..." >> ${log_dir}/backup.log ${MUSQL_DUMP} -uroot -p${DB_PASS} -h${DB_HOST} -P${DB_PORT} ${the_db} | gzip > ${date_time}/${the_db}.sql.gz echo "[`date +%Y-%m-%d-%H:%M:%S`] Backup the database : ${the_db} successfully ... ..." >> ${log_dir}/backup.log done ${TAR} jcvf ${date_time}.tar.bz2 ${date_time} 2>&1 ${RM} -rf ${date_time} echo "[`date +%Y-%m-%d-%H:%M:%S`] Backup all database is successfully ... ..." >> ${log_dir}/backup.log echo "[`date +%Y-%m-%d-%H:%M:%S`] ---------------------------------------------------------------" >> ${log_dir}/backup.log exit |
每天定时晚上12点执行备份脚本:
1 |
00 00 * * * /bin/bash /home/shell/auto_backup_database.sh |
No Comments