Remember that the areca volume check is a raid-array verification. I.e. it DOES NOT VERIFY DATA. It verifies that the parity is the correct calculation of the bits in the data stripe width. Ie. It has no idea if the file itself is correct (it doesn't even know if a file or even a filesystem is there). It just sees if the bits match and if not (like with raid 3/4/5) is like flipping a coin, it will (usually user choice at check time) either 'assume' the data is good _or_ the parity is good and 'fix' the other. Which could actually be destroying it. Remember that RAID is for availability _not_ data integrity.
for a real-simple md5 check under linux you can use this early version of a script I have here (the current one is very convoluted and not generic enough to be of real use for you (like I said no time to really clean things up)
). Anyway it can get you started.
Code:
#!/bin/bash
##
# Filesystem MD5 Check (low level drive & file checking)
##
##
# Requirements:
#
# md5sum
# find
##
# Set argument variables & usage
MNTPNT=$1
CHECK=$2
IGNORE=$3
usage ()
{
echo -e "usage: `basename $0` MOUNTPOINT [create|check] {IGNOREDIR}\n"
}
# Get arguments
if [ -z "${MNTPNT}" ]; then
usage
exit 1
fi
# Set static variables
CURDATE=`date +%Y%m%d`
OLDDATE=`date +%Y%m`"01"
OUTDIR="/var/log/md5sum"
OLDIFS="$IFS"
IFS="
"
# CHECK/Verify MD5SUM function
if [ "${CHECK}" = "check" ]; then
if [ -f "$OUTDIR/md5sum.$OLDDATE" ]; then
md5sum -c "$OUTDIR/md5sum.$OLDDATE" | grep -v ": OK" >> $OUTDIR/md5check.$CURDATE
else
echo "ERR: old md5sum file does not exist"
fi
fi
# Create MD5SUM Function
if [ "${CHECK}" = "create" ]; then
if [ -z "${IGNORE}" ]; then
for FILE in `find "${MNTPNT}" -type f -print0 | xargs -0 -i echo -e -n "{}\n"` ; do
md5sum -b "$FILE" >> $OUTDIR/md5sum.$CURDATE
done
else
for FILE in `find "${MNTPNT}" -type f -print0 | xargs -0 -i echo -e -n "{}\n" | grep -v $IGNORE` ; do
md5sum -b "$FILE" >> $OUTDIR/md5sum.$CURDATE
done
fi
fi
As for other tools, nothing really besides what you write yourself (or at least nothing that I've really found anywhere and that includes home, PC, workstation, midrange (unix/as400) and mainframes. The industry seems to really have blinders on and I have no idea why.
Bookmarks