#!/bin/bash # 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/all_dirs sum_dir=$base_dir/_md5_check/sums log_dir=$base_dir/_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 a0[1-6]*.md5; do check_md5 $i & done wait for i in a0[7-9]*.md5 a1[0-2]*.md5; do check_md5 $i & done wait for i in a1[3-7]*.md5; do check_md5 $i & done