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点执行