md5_cp/calc_md5.sh

46 lines
904 B
Bash
Raw Normal View History

2019-03-05 16:40:59 +00:00
#!/bin/bash
cd /mnt/export
2019-09-10 23:20:43 +00:00
md5_tmp=`mktemp`
2019-03-05 16:40:59 +00:00
#sort & del dublicates
sed -i '/^$/d' md5.txt
2019-09-10 23:20:43 +00:00
cat md5.txt | sort -k 2 | uniq > $md5_tmp
cat $md5_tmp > md5.txt
2019-03-05 16:40:59 +00:00
2019-09-10 23:20:43 +00:00
cat $md5_tmp | while read line; do
2019-03-05 16:40:59 +00:00
#get md5
md5=$(echo $line | cut -c -32)
#get path of file
file=$( echo $line | cut -c 34-)
#wenn datei existiert
if [ -f "$file" ]; then
# do nothing
echo > /dev/null
else
echo "rm $line"
sed -i "/$md5/d" md5.txt
fi
done
#search for new files
find /mnt/export/transport -type f | grep -v "/.Trash-" | sort | while read line; do
#save fiel path
result=$(grep "$line" md5.txt); [ -z "$result" ] && {
#wenn kein eintrag in liste...
echo "new $line"
md5sum "$line" >> md5.txt_add
}
done
[ -f md5.txt_add ] && {
cat md5.txt_add >> md5.txt
rm md5.txt_add
}
#sort & del dublicates
2019-09-10 23:20:43 +00:00
cat md5.txt | sort -k 2 | uniq > $md5_tmp
rm md5.txt && mv $md5_tmp md5.txt