#!/bin/bash -x # set charset to avoid problems export LANG=en_US.UTF-8 export LANGUAGE=en_US:en export LC_CTYPE=en_US.UTF-8 # config base_dir=/home/dp/ sum_dir=$base_dir/all_india/_md5_check/sums log_dir=$base_dir/all_india/_md5_check/$(date +%Y%m%d) # functions function check_md5 { export LANG=en_US.UTF-8 export LANGUAGE=en_US:en export LC_CTYPE=en_US.UTF-8 my_stdout=$log_dir/${1:0: -4}_stdout.txt my_stderr=$log_dir/${1:0: -4}_stderr.txt my_time=$log_dir/${1:0: -4}_time.txt my_analyse=$log_dir/${1:0: -4}_analysis.txt cd $base_dir (time md5sum -c $sum_dir/${1} > $my_stdout 2> $my_stderr) 2> $my_time grep -v OK $my_stdout > $my_analyse } # main program mkdir $log_dir cd $sum_dir for i in hdd2[1-6]*.md5; do check_md5 $i & done wait for i in hdd2[7-9]*.md5 hdd3[0-2]*.md5; do check_md5 $i & done