linkmaster 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash
  2. ALL_DIRS=/home/dp/all_dirs/
  3. ALL_INDIA=/home/dp/all_india/
  4. ALL_ALL=/home/dp/all_all/
  5. cd /tmp/
  6. # all dirs
  7. # remove broken links
  8. find -L $ALL_DIRS -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh \;
  9. chmod +x unlink.sh
  10. ./unlink.sh 2> /dev/null
  11. # (re)generate links for dirs
  12. find /home/dp/hdd0?/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS > link_dirs.sh \;
  13. find /home/dp/hdd1[0-7]/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >> link_dirs.sh \;
  14. chmod +x link_dirs.sh
  15. ./link_dirs.sh 2> /dev/null
  16. # (re)generate links for files
  17. find /home/dp/hdd0?/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS > link_files.sh \;
  18. find /home/dp/hdd1[0-7]/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_DIRS >> link_files.sh \;
  19. chmod +x link_files.sh
  20. sudo -u dp /tmp/link_files.sh 2> /dev/null
  21. # all india
  22. # remove broken links
  23. find -L $ALL_INDIA -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh \;
  24. chmod +x unlink.sh
  25. ./unlink.sh 2> /dev/null
  26. # (re)generate links for dirs
  27. find /home/dp/hdd2[1-9]/SYHD_*/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india.sh \;
  28. find /home/dp/hdd3[0-2]/SYHD_*/ -mindepth 1 -maxdepth 1 -type d ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india.sh \;
  29. chmod +x link_india.sh
  30. ./link_india.sh 2> /dev/null
  31. # (re)generate links for files
  32. find /home/dp/hdd2[1-9]/SYHD_*/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india_files.sh \;
  33. find /home/dp/hdd3[0-2]/SYHD_*/ -mindepth 1 -maxdepth 1 -type f ! -name lost+found -exec echo ln -s \"{}\" $ALL_INDIA >> link_india_files.sh \;
  34. chmod +x link_india_files.sh
  35. sudo -u dp /tmp/link_india_files.sh 2> /dev/null
  36. # all all
  37. # remove broken links
  38. find -L $ALL_ALL -mindepth 1 -maxdepth 1 -type l -exec echo unlink \"{}\" > unlink.sh \;
  39. chmod +x unlink.sh
  40. ./unlink.sh 2> /dev/null
  41. # reuse the link scripts we generated bevore
  42. cat link_dirs.sh link_india.sh > link_all.sh
  43. cat link_files.sh link_india_files.sh > link_all_files.sh
  44. sed -i -e s/all_dirs/all_all/g link_all.sh
  45. sed -i -e s/all_india/all_all/g link_all.sh
  46. sed -i -e s/all_dirs/all_all/g link_all_files.sh
  47. sed -i -e s/all_india/all_all/g link_all_files.sh
  48. chmod +x link_all.sh
  49. ./link_all.sh 2> /dev/null
  50. chmod +x link_all_files.sh
  51. sudo -u dp /tmp/link_all_files.sh 2> /dev/null
  52. # cleanup scriptfiles
  53. rm unlink.sh link_dirs.sh link_files.sh link_india.sh link_india_files.sh link_all.sh link_all_files.sh
  54. exit 0