md5creator 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. # set charset to avoid problems
  3. export LANG=en_US.UTF-8
  4. export LANGUAGE=en_US:en
  5. export LC_CTYPE=en_US.UTF-8
  6. # config
  7. base_india_dir=/home/dp/all_india
  8. base_dir=/home/dp
  9. #sum_dir=$base_dir/_md5_check/sums
  10. #log_dir=$base_dir/_md5_check/$(date +%Y%m%d)
  11. sum_dir=$base_india_dir/_md5_check/sums
  12. log_dir=$base_india_dir/_md5_check/$(date +%Y%m%d)
  13. # functions
  14. function check_md5 {
  15. # set charset to avoid problems
  16. export LANG=en_US.UTF-8
  17. export LANGUAGE=en_US:en
  18. export LC_CTYPE=en_US.UTF-8
  19. my_stdout=$log_dir/${1:0: -4}_stdout.txt
  20. my_stderr=$log_dir/${1:0: -4}_stderr.txt
  21. my_time=$log_dir/${1:0: -4}_time.txt
  22. my_analyse=$log_dir/${1:0: -4}_analysis.txt
  23. cd $base_dir
  24. (time md5sum -c $sum_dir/${1} > $my_stdout 2> $my_stderr) 2> $my_time
  25. grep -v OK $my_stdout > $my_analyse
  26. }
  27. function create_md5 {
  28. my_stdout=$sum_dir/${1}.md5
  29. my_stderr=$log_dir/${1}_stderr.txt
  30. my_time=$log_dir/${1}_time.txt
  31. touch $my_stdout
  32. (time find ${1} -type f -exec md5sum -b {} \; > $my_stdout 2> $my_stderr) 2> $my_time
  33. }
  34. # main program
  35. mkdir -p $log_dir
  36. #cd $sum_dir
  37. cd $base_dir
  38. #for i in hdd2[1-6]; do
  39. # create_md5 $i &
  40. #done
  41. #
  42. #wait
  43. #for i in hdd2[7-9] hdd3[0-2]; do
  44. for i in hdd29 hdd3[0-2]; do
  45. create_md5 $i &
  46. done