Siema, potrzebuję pomocy w napisaniu skryptu w bashu.
Potrzebuję napisać skrypt, który będzie sprawdzał rozmiar pliku w jednym katalogu i porównywał z rozmiarem tego samego pliku, który został przekopiowany w inne miejsce. Chodzi o to, żeby przekopiowany plik nie był mniejszy niż ten w katalogu źródłowym i w przypadku mniejszego rozmiaru wyrzucał jakąś informację np. mailowo. Gotowy skrypt będzie działał w cronetabie.
Czy mogę liczyć na pomoc i jakieś wskazówki?
Tak porownaj hashe plikow a nie wielkosc (md5 albo ktores sha). Wolasz np. sha256sum path_to_file_1 path_to_file_2 i porownujesz.
@Shalom: ktora funkcje hashujaca bys wybral? Wiem ze w wielu miejscach wciaz uzywa sie md5 ale jest podatne na kolizje.
@Karol Kiryłło ale co chcesz osiągnąć? Nie chcesz aby czasem, jak sugeruje @WhiteLightning, sprawdzić czy plik się poprawnie skopiował? Bo jeśli tak, to użyj funkcji hashującej albo chociaż jakiegoś CRC32. Sam rozmiar to malo, bo flipnięcie bitu z 0 na 1 sprawi że tego pliku możesz już nie otworzyć, bez "naprawienia" go, mimo że rozmiar będzie ok.
@WhiteLightning kolizje raczej nas tu nie bolą, zresztą często stosuje się do takich rzeczy proste CRC32, bo ważna jest szybkość.
#!/bin/bash pierwszy=`wc -c "/ścieżka/do/pliku/kopiowanego"` drugi=`wc -c "/ścieżka/do/kopii"` pie=`echo "$pierwszy" | awk '{print $1}'` dru=`echo "$drugi" | awk '{print $1}'` echo -e "\nrozmiar pierwszego pliku: $pie" echo -e "rozmiar drugiego pliku: $dru\n" if [ $pie -gt $dru ] then echo -e "Kopia pliku ma za mały rozmiar!!!\n" fi
Karol Kiryłło napisał(a):
Siema, potrzebuję pomocy w napisaniu skryptu w bashu.
Potrzebuję napisać skrypt, który będzie sprawdzał rozmiar pliku w jednym katalogu i porównywał z rozmiarem tego samego pliku, który został przekopiowany w inne miejsce. Chodzi o to, żeby przekopiowany plik nie był mniejszy niż ten w katalogu źródłowym i w przypadku mniejszego rozmiaru wyrzucał jakąś informację np. mailowo. Gotowy skrypt będzie działał w cronetabie.
Czy mogę liczyć na pomoc i jakieś wskazówki?
A może najpierw powiesz gdzie szukałeś, co znalazłeś i jakie rozwiązania próbowałeś lub przyszły Ci na myśl?