md5probe 678 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. # config
  3. base_dir=/home/dp/all_dirs
  4. sum_dir=$base_dir/_md5_check/sums
  5. log_dir=$base_dir/_md5_check/$(date +%Y%m%d)
  6. # functions
  7. function check_md5 {
  8. my_stdout=$log_dir/${1:0: -4}_stdout.txt
  9. my_stderr=$log_dir/${1:0: -4}_stderr.txt
  10. my_time=$log_dir/${1:0: -4}_time.txt
  11. my_analyse=$log_dir/${1:0: -4}_analysis.txt
  12. cd $base_dir
  13. (time md5sum -c $sum_dir/${1} > $my_stdout 2> $my_stderr) 2> $my_time
  14. grep -v OK $my_stdout > $my_analyse
  15. }
  16. # main program
  17. mkdir $log_dir
  18. cd $sum_dir
  19. for i in a0[1-6]*.md5; do
  20. check_md5 $i &
  21. done
  22. wait
  23. for i in a0[7-9]*.md5 a1[0-2]*.md5; do
  24. check_md5 $i &
  25. done
  26. wait
  27. for i in a1[3-7]*.md5; do
  28. check_md5 $i &
  29. done