Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. MAINDIR=$1
  4. shift
  5. UNDIR=$@
  6.  
  7. containsElement () {
  8.  
  9. for i in ${UNDIR[@]}
  10. do
  11. if [ $1 == $i ]; then
  12. echo "Este directorio se ignora por peticion del usuario"
  13. return 1
  14. fi
  15. done
  16. echo "Se van a comprimir los ficheros de este directorio"
  17. return 0
  18. }
  19.  
  20. #añadir sufijo con la fecha a todos los ficheros que acaben en puppet-bak
  21. for fichero in `find $1 -type f -name '*puppet-bak'`
  22. do
  23. mv $fichero ${fichero}_`date +%Y%m%d_%H%M%S`
  24. done
  25.  
  26. #Por cada directorio con ficheros .puppet-bak_$(date), si hay mas de 10 ficheros, comprimirlos.
  27. for directorio in `find $1 -type f -name '*puppet-bak_*' | xargs dirname | uniq`
  28. do
  29. if containsElement ${directorio}; then
  30. for fichero_b in `find ${directorio} -maxdepth 1 -type f -name '*puppet-bak_*' | xargs basename -a | sed 's/\.puppet-bak_.\+$//g' | uniq`
  31. do
  32. COUNT=$(find ${directorio} -maxdepth 1 -type f -name "*${fichero_b}.puppet-bak_*" | wc -l)
  33. if [ $COUNT -ge 4 ]; then
  34. OWNER=`stat -c %U ${fichero_b}`
  35. cd ${directorio}
  36. sudo -u ${OWNER} tar -czf ${fichero_b}_`date +%Y%m%d_%H%M%S`.tar.gz ${fichero_b}.puppet-bak_*
  37. rm ${fichero_b}.puppet-bak_*
  38. fi
  39. done
  40. fi
  41. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement