#comparefolder #comparefiles #findmissingfile #dataloss #backup #recovery #linux #ubuntu
Compare files with backup and find the missing files:
dest="/media/m1/Elements/backup/data/";
src="/media/m1/data/";
#if not ends with / add it
[[ $src != */ ]] && src="$src/";
[[ $dest != */ ]] && dest="$dest/";
find "$src" -type f | while read f;
do
rel="${f/$src/}";
#echo "$f : $rel";
df="$dest$rel";
ssize=0;
dsize=0;
ssize=$(stat --printf="%s" "$f");
[ -f "$df" ] && dsize=$(stat --printf="%s" "$df");
#if [ $ssize -ne $dsize ] && [ $dsize -eq 0 ]; then
if [ $ssize -ne $dsize ]; then
#echo "not found: $df";
echo "sizes: $ssize : $dsize - copy: $f" >> /home/m1/diff_files.txt
continue;
gdir=$(dirname "$df");
#echo "$gdir";
[ ! -d "$gdir" ] && mkdir -p "$gdir";
rsync --ignore-errors -avP "$f" "$df";
#safecopy -R 1 "$f" "$df";
fi;
done;