Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witka,
Potrzebuje sprawdzić jakie są różnice między środowiskiem developerskim a testowym. Coś jak diff, tyle że diff działa lokalnie. Znalazłem gdzies jakiegoś skrypta z AIXa, i go przerobiłem lekko, jednak nie działa tak jak chciałem - nie jestem w stanie tego zkminic co tam jest nie halo:
grzeslaw@hp1:~$ ssh h5 `echo ls -l test/` total 0 grzeslaw@hp1:~$ ls -l test/ razem 12 -rw-r--r-- 1 grzeslaw grzeslaw 0 cze 8 19:58 1.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 cze 8 19:58 2.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 cze 8 19:58 3.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 cze 8 19:58 4.txt grzeslaw@hp1:~$ rsync test/* h5:test/ grzeslaw@hp1:~$ grzeslaw@hp1:~$ ssh h5 `echo ls -l test/` total 12 -rw-r--r-- 1 grzeslaw grzeslaw 0 2010-06-08 20:07 1.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 2010-06-08 20:07 2.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 2010-06-08 20:07 3.txt -rw-r--r-- 1 grzeslaw grzeslaw 10 2010-06-08 20:07 4.txt grzeslaw@hp1:~$ cat diff.sh local_dir="/home/grzeslaw/test" remote_dir="/home/grzeslaw/test" remote_sys="grzeslaw@h5" find $local_dir -type f | xargs -i cksum {} >local.out ssh $remote_sys `echo 'find '${remote_dir}' -type f -exec cksum {} \;'` >remote.out; diff local.out remote.out grzeslaw@hp1:~$ ./diff.sh 1d0 < 1552147931 10 /home/grzeslaw/test/2.txt 4a4 > 1552147931 10 /home/grzeslaw/test/2.txt grzeslaw@hp1:~$
Jesli nie macie pomysłu co tam jest nie halo, to może polecicie mi co innego? Próbowałem robić rsynca z opcją --dry-run jednak również nie wyświetla mi różnic, tylko wszystkie pliki.
Z góry dzięki za waszelkie sugestie/pomysły.
Offline
Pewnie da się to zrobić jakimś automatem (do czego zachęcam, po co komplikować sobie życie?), na piechotę proponuję to zrobić w ten sposób:
1. Za pomocą md5sum robisz listę sum md5 plików, który kopiujesz na serwer2.
md5sum plik1 plik2 plik3 plik4 >serwer1.md5
2. Na serwer2 sprawdzasz które pliki w ogóle się różnią
LANG=C md5sum -c 1.md5 2>/dev/null | awk '/FAILED$/ {print $1}' | sed "s/:$//g"
3. Pobierasz owe pliki i robisz diffa
Z wykorzystaniem ssh całość można ładnie oskryptować.
Offline
proponowalbym rsync ... mozna puscic po ssh zainteresuj sie opcjami:
-c (kieruje sie sumami kontrolnymi)
-nv lub --list-only (pokazuje tylko jakie pliki by kopiowal)
-r (aby chodzil rekurencyjnie po katalogach)
--delete(aby wywal z celu pliki usuniete w zrodle)
Edit: ciekawa jest tez --delay-updates oraz --only-write-batch
Ostatnio edytowany przez bercik (2010-06-09 11:37:07)
Offline
Strony: 1