Discussion:
bash i porównanie plików lokalnych ze zdalnymi
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
ne
2008-01-30 08:18:13 UTC
Permalink
Witam

Chcę porównać pliki lokalne ze zdalnymi,
mam do dyspozycji bash'a z wykorzystaniem ssh do połączenia zdalnego.
Chcę uzyskać listę plików które mają różnicę w wielkości i dacie zmian.
Rsync próbowałem zmusić do stworzenia listy plików które będzie
'aktualizował' ale z opcją --list-only zwraca mi wszystkie pliki.
może coś robię źle?

Do końca nie wiem jak się za to zabrać.
ssh ***@host "ls -la /test" > zdalna_lista
ls -la /test > lokalna_lista
i
diff ??

może jakieś świeże pomysły?


Dzięki za wszelką pomoc :)
i***@mud.pl
2008-01-30 10:58:56 UTC
Permalink
Post by ne
Witam
Chcę porównać pliki lokalne ze zdalnymi,
mam do dyspozycji bash'a z wykorzystaniem ssh do połączenia zdalnego.
Chcę uzyskać listę plików które mają różnicę w wielkości i dacie zmian.
Rsync próbowałem zmusić do stworzenia listy plików które będzie
'aktualizował' ale z opcją --list-only zwraca mi wszystkie pliki.
może coś robię źle?
Do końca nie wiem jak się za to zabrać.
ls -la /test > lokalna_lista
i
diff ??
może jakieś świeże pomysły?
md5
--
pozdrawiam
Irek
Konrad Stepien
2008-01-30 14:33:07 UTC
Permalink
Post by ne
Witam
Chcę porównać pliki lokalne ze zdalnymi,
mam do dyspozycji bash'a z wykorzystaniem ssh do połączenia zdalnego.
Chcę uzyskać listę plików które mają różnicę w wielkości i dacie zmian.
Rsync próbowałem zmusić do stworzenia listy plików które będzie
'aktualizował' ale z opcją --list-only zwraca mi wszystkie pliki.
może coś robię źle?
Do końca nie wiem jak się za to zabrać.
ls -la /test > lokalna_lista
i
diff ??
może jakieś świeże pomysły?
md5
Ciężka artyleria. Przecież napisał wyraźnie, że chce wyłapać
te z różnym rozmiarem i datą. Ja bym kombinował z ls, sort i diff.
Sort po to, żeby diff nie pokazał czegoś tylko dlatego, że ls-y
zwrócą w innej kolejności.
--
WARNING: my e-mail is encrypted by ROT13
Xbaenq Fgrcvra <***@vagreqngn.arg.cy>
ne
2008-01-31 09:49:30 UTC
Permalink
Post by Konrad Stepien
Post by ne
Witam
Chcę porównać pliki lokalne ze zdalnymi,
mam do dyspozycji bash'a z wykorzystaniem ssh do połączenia zdalnego.
Chcę uzyskać listę plików które mają różnicę w wielkości i dacie zmian.
Rsync próbowałem zmusić do stworzenia listy plików które będzie
'aktualizował' ale z opcją --list-only zwraca mi wszystkie pliki.
może coś robię źle?
Do końca nie wiem jak się za to zabrać.
ls -la /test > lokalna_lista
i
diff ??
może jakieś świeże pomysły?
md5
Ciężka artyleria. Przecież napisał wyraźnie, że chce wyłapać
te z różnym rozmiarem i datą. Ja bym kombinował z ls, sort i diff.
Sort po to, żeby diff nie pokazał czegoś tylko dlatego, że ls-y
zwrócą w innej kolejności.
mam coś takiego, niby okej, ale jak już w katalogu który listuję są
katalogi to nie wiem jak przypisać ścieżkę do plików ..

ssh komp ls -RlgG /home/test | grep -v "razem" | grep -v "total" > lista.1
ls -RlgG /home/test | grep -v "razem" | grep -v "total" > lista.2
echo `diff lista.1 lista.2 | grep ">" | sed -e 's/^> //' | awk '{ print
$6 }'`


chyba nic więcej nie wymyślę,
dzięki za pomoc! ;)
ne
2008-01-31 11:47:34 UTC
Permalink
Post by ne
Post by Konrad Stepien
Post by ne
Witam
Chcę porównać pliki lokalne ze zdalnymi,
mam do dyspozycji bash'a z wykorzystaniem ssh do połączenia zdalnego.
Chcę uzyskać listę plików które mają różnicę w wielkości i dacie zmian.
Rsync próbowałem zmusić do stworzenia listy plików które będzie
'aktualizował' ale z opcją --list-only zwraca mi wszystkie pliki.
może coś robię źle?
Do końca nie wiem jak się za to zabrać.
ls -la /test > lokalna_lista
i
diff ??
może jakieś świeże pomysły?
md5
Ciężka artyleria. Przecież napisał wyraźnie, że chce wyłapać
te z różnym rozmiarem i datą. Ja bym kombinował z ls, sort i diff.
Sort po to, żeby diff nie pokazał czegoś tylko dlatego, że ls-y
zwrócą w innej kolejności.
mam coś takiego, niby okej, ale jak już w katalogu który listuję są
katalogi to nie wiem jak przypisać ścieżkę do plików ..
ssh komp ls -RlgG /home/test | grep -v "razem" | grep -v "total" > lista.1
ls -RlgG /home/test | grep -v "razem" | grep -v "total" > lista.2
echo `diff lista.1 lista.2 | grep ">" | sed -e 's/^> //' | awk '{ print
$6 }'`
chyba nic więcej nie wymyślę,
dzięki za pomoc! ;)
i wyszło, coś takiego

ssh komp "find /home/test -type f -printf '%p %s %T@\n'" | sort > lista.1
find /home/test -type f -printf '%p %s %T@\n' | sort > lista.2
diff lista.1 lista.2 | grep ">" | awk '{ print $2 }'

:]

Loading...