1. #!/bin/bash 
  2. BACK_SAVE=/opt/back_save 
  3. BACK_DIR=/opt/ 
  4. BACK_FILE=cowboycms 
  5. SCP_DIR=/opt/back_save 
  6. DATE=`date +%F` 
  7.  
  8. #check error 
  9. check_error(){ 
  10.     if [[ $1 != "0" ]] 
  11.     then 
  12.         echo `date +"%F %H:%M:%S" `"$2 error!" >> $BACK_SAVE/log/$BACK_FILE.log 
  13.         exit 1 
  14.     else 
  15.         echo `date +"%F %H:%M:%S" `"$2 is ok" >> $BACK_SAVE/log/$BACK_FILE.log 
  16.     fi 
  17.  
  18. #back file 
  19. cd $BACK_DIR 
  20. tar zcvf $BACK_FILE.$DATE.tar.gz $BACK_FILE 
  21. check_error $? tar 
  22. scp $BACK_FILE.$DATE.tar.gz root@192.168.1.137:$BACK_SAVE/$BACK_FILE/ 
  23. check_error $? scp 
  24. mv $BACK_FILE.$DATE.tar.gz $BACK_SAVE/data 
  25.  
  26. #check old file to delete 
  27. let DEL_DATE=`date +%s -d "4 days ago"`/86400 
  28.  
  29. cd $BACK_SAVE 
  30. check_error $? cd  
  31. let  A=$DEL_DATE%7 
  32.  
  33. if [[ $A != "0" ]] 
  34. then 
  35.     rm -rf data/$BACK_FILE.`date +%F -d "15 days ago"`.tar.gz 
  36. fi