由于当前的网站没有什么流量,数据量也不大,所以网站采用全备的方法,网页和数据库备份脚本如下:

网页备份:

 
  
  1. [python] view plaincopyprint? 
  2. #!/bin/bash    
  3. #######################    
  4. #                 
  5. #    htdocs_backup        
  6. #                 
  7. #######################    
  8.    
  9. date=`date +%Y%m%d_%H%M`   
  10. htdocs_backdir="/root/backup/htdocs_backup"   
  11. echo "Htdocs is now backuping..."   
  12.    
  13. tar cf $htdocs_backdir/htdocs_$date.tar  /data/home/htdocs >/dev/null 2>&1   
  14. if [ $? -eq 0 ];then   
  15.     echo "htdocs backup ok!"   
  16. else   
  17.     echo "htdocs backup failed!"   
  18. fi   
  19.    
  20. find $htdocs_backdir -mtime +7 -exec rm -rf '{} \;'  

数据库备份:

 
  
  1. [python] view plaincopyprint? 
  2. #!/bin/bash    
  3. ########################    
  4. #                  
  5. #     mysql_all dump       
  6. #                  
  7. ########################    
  8.    
  9. date=`date +%Y%m%d_%H%M`   
  10. mysql_backdir="/root/backup/mysql_backup"   
  11. echo "Now the mysql_dump is starting..."   
  12.    
  13. mysqldump  --all-databases --skip-opt -u root -pxxxxx > $mysql_backdir/all_mysql_$date.sql 2>/root/backup/log_error/mysql-error_log   
  14. if [ $? -eq 0 ];then   
  15.     echo "Mysql_all dump is ok!"   
  16. else   
  17.     echo "Mysql_all dump is failed!"   
  18. fi   
  19.    
  20. find $mysql_backdir -mtime +7 -exec rm -rf '{} \;'   

其中脚本中之所以在find中'{} \;'使用单引号是出现如下错误:

# find ./* -mtime +7 -exec rm -rf {} \;
/usr/lib/.khostd/find: 遗漏“-exec”的参数

需要加上单引号才可以生效