Wpis z mikrobloga

Potrzebuję przenieść 2 mln. (kilkaset GB) małych plików na inny serwer (ssh > ssh, ale do obu maszyn mogę mieć dostęp root). Samo wylistowanie ich w folderze zajmuje 20minut, rsync się wysypuje co kilkadziesiąt tysięcy plików, na serwerze nie da się ich zarchiwizować (brak miejsca).

Teraz mam je wylistowane do pliku .txt i idealna opcja by była taka, żeby sobie skrypt usuwał przesłane pliki zamiast sprawdzać czy są już zsynchronizowane, albo jakby się dało archiwizować to w porcjach. Jedno i drugie poza moim obszarem kompetencji.

Jakieś pomysły?

#linux #devops #vps #bash
  • 18
@ujdzie: jak musisz po ssh i jesteś tak ograniczony, to zrób pośrednią opcję - sporcuj np. po katalogach i odpal rsynca dla każdego folderu w root oddzielnie (no chyba że w root są 4 foldery na krzyż :>).

rsync robi scan foldery po obu stronach najpierw. Sprawdziłeś dlaczego #!$%@?? jakieś OOM w dmesg?
  • 0
@jalop: jakiś network error. Ale samo synchronizowane zanim rozpocznie trwa wieki i czasami nawet nie rozpoczyna. Problemem jest baaaaardzo stara maszyna z plikami raczej.
@ujdzie: utwórz lokalnie kilka katalogów, zaloguj się przez ssh i ręcznie odpal mv jakiś_regex_czy_glob - lokalnie powinno to być całkiem szybkie. Jeśli się uprzesz, a masz już wylistowane pliki, to nawet coś w stylu

for i in $(seq 1 10000); do
dest=/tmp/dupa/$i
mkdir -p $dest
while read filename; do
mv $src_dir/$filename $dest/
done <pliczek_z_nazwami_nr_N
done

powinno zadziałać
@ujdzie: rsync - jeżeli to nie daje rady to nic innego tez nie da pewnie masz walnięta kartę sieciowa albo ram w tym kompie albo dysk. Skup się przede wszystkim aby rsync działał to najlepsze do takich rzeczy i ma tez ustawienia do wznawiania transferu
@ujdzie: już po potokach?
Ja bym zamontował na stary system na nowej maszynie przez sshfs i kopiował normalnie.
Albo tarował prosto do San jeśli to po sieci lokalnej: ssh user@Server 'tar zcf - /some/dir' | tar zvxf -
Na koniec przelecieć md5tree, czy nic nie brakuje.
  • 0
@BArtus: jeszcze nie :) Odpuściłem na czas bliżej nieokreślony, bo serwer źródłowy klękał z innych powodów.

Dzięki za tipa, obadam na dniach.