Linux服务器定时备份脚本

Shell脚本:

#!/bin/bash

DB_USER='root'
DB_PWD='******'
DB_DIR='/data0/ouyang/databases'
SITE_DIR='/data0/ouyang/site'
LOG_FILE='/data0/ouyang/log'
CURR_TIME=`date +%Y%m%d%H%M%S`
CURR_DATE=`date +%Y%-%m-%d`

#删除N天前的备份

find /data0/ouyang/databases  -mtime +30 -name "*.sql.gz"  -exec rm {} \;
find /data0/ouyang/site  -mtime +30 -name "*.tar.gz"  -exec rm {} \;

#备份数据库

/usr/bin/mysqldump -u$DB_USER -p$DB_PWD -hlocalhost  --default-character-set=utf8 --opt db_zhcar | /bin/gzip > $DB_DIR/bak_db_zhcar_$CURR_TIME.sql.gz
echo 操作:备份**汽车数据库 日期:$CURR_TIME 文件:$DB_DIR/bak_db_zhcar_$CURR_TIME.sql >> $LOG_FILE
echo 'db_zhcar OK!'
#mysqldump -u$DB_USER -p$DB_PWD db_zhcar > $DB_DIR/bak_db_zhcar_$CURR_TIME.sql 与这条命令相比,上面的压缩备份占用大小减少了4倍以上

#备份网站

echo 'Back up zhcar site...'
cd /home/zhcar/wwwroot/
tar -czf $SITE_DIR/zhcar_$CURR_TIME.tar.gz ./

说明:在服务器数据盘data0下分别建立ouyang/databases、  ouyang/site、  log(日志文件),在ouyang目录下新建backup.sh,给予执行权限755


定时任务:

crontab -e

#!/bin/bash

0 8,18 * * * /data0/ouyang/backup.sh  #早8点、晚18点执行



你可能感兴趣的:(Linux,Mysql)