备份脚本

 循环增量备份

 

 

Bash代码    收藏代码
  1. #!/bin/bash  
  2. ###################################  
  3. # $Id: backup 379 2012-04-02 08:43:42Z netkiller $  
  4. # Author: [email protected]  
  5. # Home: http://netkiller.github.com  
  6. ###################################  
  7. BACKUP_DIR=/backup/www  
  8. ####################################  
  9. LOGFILE='/var/tmp/test.log'  
  10. RSYNC="rsync"  
  11. WEEK=$(date -u +%A)  
  12. RSYNC_OPTS="-auz --delete --log-file=$LOGFILE"  
  13.   
  14. ####################################  
  15. test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0  
  16.   
  17. umask 0077  
  18.   
  19. for domain in $(ls -1 /www)  
  20. do  
  21.     test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"  
  22.     echo "$domain:"  
  23.     for host in $(ls -1 /www/$domain)  
  24.     do  
  25.         echo " - $host"  
  26.         backup_dir=$BACKUP_DIR/$domain/$host/$WEEK  
  27.         mkdir -p ${backup_dir}  
  28.         $RSYNC $RSYNC_OPTS /www/$domain/$host/* $backup_dir  
  29.     done  
  30.   
  31. done  

 

 

 

全备份

 

 

BASH代码    收藏代码
  1. #!/bin/bash  
  2. ###################################  
  3. $Id: backup 379 2012-04-02 08:43:42Z netkiller $  
  4. # Author: [email protected]  
  5. # Home: http://netkiller.github.com  
  6. ###################################  
  7. BACKUP_DIR=/backup/www  
  8. #Number of copies  
  9. COPIES=30  
  10. ####################################  
  11. TAR='tar'  
  12. RSYNC="rsync"  
  13. TIMEPOINT=$(date -u +%Y-%m-%d)  
  14. TAR_OPTS="zcf"  
  15. ####################################  
  16. test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0  
  17.   
  18. umask 0077  
  19.   
  20. for domain in $(ls -1 /www)  
  21. do  
  22.     test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"  
  23.     echo "$domain:"  
  24.     for host in $(ls -1 /www/$domain)  
  25.     do  
  26.         echo " - $host"  
  27.         backup_dir=$BACKUP_DIR/$domain/$host/$WEEK  
  28.         mkdir -p ${backup_dir}  
  29.         $TAR $TAR_OPTS $BACKUP_DIR/$domain/$host/$host.$TIMEPOINT.tgz /www/$domain/$host  
  30.     done  
  31. done  
  32. find $BACKUP_DIR -type f -mtime +$COPIES -delete  

 

你可能感兴趣的:(backup,netkiller)