Zamknięty

BASH - Manager rsync

Opisowo:

Jestem zwykłym zjadaczem chleba, który coś tam umie szukać, i coś rozumie w pisaniu w bash-u.

Mam napisany skrypt (sklejony z tysiąca innych w internetach) do obsługi rsync-a sforkowanego w ilości wyznaczonej przez użytkownika.

Wszystko było pięknie dopóki dane się nie powiększyły w takie ilości, że musi być zastosowany jakikolwiek menadżer procesów, który po określeniu ilości fork rsync utrzymywałby tą wartość, aż do momentu skończenia się zadań.

Praktycznie:

System został podzielony na katalogi

/var/data/$domena/mail

/var/data/$domena/web

/var/data/$domena/ssh

/var/data/$domena/logs

W każdym z katalogów jest około 300 katalogów (wyjątkiem jest katalog - /var/data/$domena/mail - gdzie jest tych katalogów 3 tysiące), poprzez skrypt uruchamianym na serwerze lokalnym ustalam parametry :

./[url removed, login to view] -avH 2 100 [url removed, login to view] /var/data/$domena /BACKUP/$domena

Objaśniając parametry:

-avH - parametry rsync-a

2 - głębokość dla find

100 - ilość fork-ów rsync-a

[url removed, login to view] - Serwer skąd ściągamy dane

/var/data/$domena - dokładna ścieżka na serwerze zdalnym skąd ściągamy dane

/BACKUP/$domena - dokładna ścieżka na serwerze lokalnym gdzie wrzucamy dane

I tu jest sytuacja, gdzie ustaliwszy ilość procesów rsync - skrypt odpala tylko taką ilość procesów rsync-a z danymi, i ni kszty więcej.

A już najgorzej jest jak w katalogu /var/data/$domena/mail - jest około 3 tyś. katalogów i ustalając parametr rsyncs = 100 - pobiera tylko 100 katalogów z /var/data/$domena/mail - a nie robi kolejnych katalogów.

I tu jest potrzebny mi jakiś menadżer procesów rsync - i jeśli ustalam parametr rsyncs = 100 - to aby z każdego pliku z listą katalogów wziął po X danych, aby łączna ilość procesów rsync była = 100 - a gdy pewna część procesów zakończy swoją pracę, uruchomił kolejne procesy utrzymując ogólna wartość procesów rsync w ilości 100 szt. i tak do końca zadania.

- Skrypt

[url removed, login to view]

z czym próbowałem podejść, ale nie udawało mi się:

[url removed, login to view]

[url removed, login to view]

I ogólnie jestem w kropce.

nie mogę (bo nie wiem czego szukać) znaleźć jakieś solucji dla mojego problemu. Sam nie potrafię napisać tego od zera, bo do programisty mi tyle co do szefa kuchni - coś umiem ugotować, ale wiecie... :)

Proszę o wycenę takiego rozwiązania + zintegrowanie tego z "moim" skryptem

Umiejętności: Bash Scripting, Linux

Zobacz więcej: rsync windows bash, install rsync into git bash, git bash make command not found, install rsync windows 10, git bash rsync, installing rsync on windows, git bash install packages, bash rsync command not found windows, przepisywanie artykułów, przesyłanie artykułów, słów, artykułów, pisanie artykułów, praca pisanie artykułów, pisanie artykułów praca

O pracodawcy:
( 0 ocen ) Poland

Numer ID Projektu: #16493901

1 freelancer złożył ofertę na kwotę zł466 do tego projektu

zł466 PLN w ciągu 3 dni
(0 Oceny)
0.0