Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. ~/test_dir🍺$ls -lrt
  2. total 8
  3. drwxr-xr-x 5 kk Users 160B Apr 17 23:53 app1/
  4. drwxr-xr-x 5 kk Users 160B Apr 17 23:53 app2/
  5. drwxr-xr-x 5 kk Users 160B Apr 17 23:53 app3/
  6. drwxr-xr-x 5 kk Users 160B Apr 17 23:53 app4/
  7. drwxr-xr-x 5 kk Users 160B Apr 17 23:53 app5/
  8.  
  9. ~/test_dir🍺$cd app1
  10.  
  11. ~/test_dir/app1🍺$ls -rlt
  12. total 0
  13. drwxr-xr-x 2 kk 10677 64B Apr 19 14:16 release1/
  14. drwxr-xr-x 2 kk 10677 64B Apr 19 14:16 release2/
  15. drwxr-xr-x 2 kk 10677 64B Apr 19 14:16 release3/
  16. drwxr-xr-x 2 kk 10677 64B Apr 19 14:16 release4/
  17. drwxr-xr-x 2 kk 10677 64B Apr 19 14:17 release5/
  18. drwxr-xr-x 2 kk 10677 64B Apr 19 14:17 relase23/
  19. drwxr-xr-x 2 kk 10677 64B Apr 19 14:17 release8.9/
  20. lrwxr-xr-x 1 kk 10677 8B Apr 19 14:18 Current@ -> release4
  21.  
  22. ~/test_dir🍺ls -t1 | tail -n +3 | grep -v Current
  23. relase23/
  24. release5/
  25. release4/
  26. release3/
  27. release2/
  28. release1/
  29.  
  30. ~/test_dir🍺ls -t1 | tail -n +3 | grep -v Current
  31. relase23/
  32. release5/
  33. release4/
  34. release3/
  35. release2/
  36. release1/
  37.  
  38. ~/test_dir/app1🍺$ls -t1 | tail -n +3 | grep -v Current | xargs rm -r
  39. ~/test_dir/app1🍺$ls -rlt
  40. total 0
  41. drwxr-xr-x 2 kk 10677 64B Apr 19 14:17 release8.9/
  42. lrwxr-xr-x 1 kk 10677 8B Apr 19 14:18 Current@ -> release4
  43.  
  44. #!/bin/bash
  45. array=("app1" "app2" "app3" "app4" "app5")
  46.  
  47. for ((i=0;i<${#array[@]};i++))
  48. do
  49. app=${array[$i]}
  50. echo "the app dir name is: $app"
  51. cd ~/test_dir/$app
  52. count=$(ls -t1 | tail -n +4 | grep -v Current | wc -l)
  53. echo "number of directories deleted are:"
  54. if [ $count == 0 ]
  55. then
  56. echo "Nothing to delete"
  57. echo " "
  58. else
  59. ls -t1 | tail -n +4 | grep -v Current| xargs rm -r
  60. fi
  61. done
  62. exit
  63.  
  64. ~/test_dir/app1🍺$ls -t1 | tail -n +3 | grep -v Current | xargs rm -r
  65. ~/test_dir/app1🍺$ls -rlt
  66. total 0
  67. drwxr-xr-x 2 kk 10677 64B Apr 19 14:16 release4/
  68. drwxr-xr-x 2 kk 10677 64B Apr 19 14:17 release8.9/
  69. lrwxr-xr-x 1 kk 10677 8B Apr 19 14:18 Current@ -> release4
  70.  
  71. kept=0
  72. stat -c "%Y %n %F" release* | sort -rn |
  73. while read timestamp file type
  74. do [[ directory == "$type" ]] || continue
  75. if (( kept++ < 2 ))
  76. then echo "Keeping $file ( $( date --date=@$timestamp ) )"
  77. else echo "Removing $file ( $( date --date=@$timestamp ) )"
  78. rm -fr $file
  79. fi
  80. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement