Advertisement
tarkhil

Untitled

Nov 5th, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.71 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. LOG_DIR=/var/log/3proxy
  4. ARCHIVE_DIR=/var/log/3proxy/archives
  5. ARCHIVER=bzip2
  6. for file in `find -L $LOG_DIR -maxdepth 1 -regextype posix-extended -type f -mmin +100 -regex "^.*log.*"`
  7. do
  8.     filename=`basename $file`
  9.     mv $file $ARCHIVE_DIR && $ARCHIVER $ARCHIVE_DIR/$filename
  10. done
  11.  
  12. used=`df $LOG_DIR | tail -1 | awk {'print $5;'} | sed s/%//`
  13.  
  14. while (( $used > 85 ))
  15. do
  16.     # remove the oldest archive file
  17.     file=`ls -tr $ARCHIVE_DIR | head -1`
  18.     # bail out if no archive files left
  19.     if [ -z "$file" ]; then
  20.         echo "No files in $ARCHIVE_DIR to remove"
  21.         exit 1
  22.     fi
  23.     rm -f $ARCHIVE_DIR/$file
  24.     used=`df $LOG_DIR | tail -1 | awk {'print $5;'} | sed s/%//`
  25. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement