Witam!
Mam następujący problem: Posiadam kilkanaście serwerów Counter-Strike i hosting forum. Na hostingu forum mam katalog na tak zwany Fast Download (gdy ktoś nie ma mapy, to ściąga ją z tego folderu zamiast z serwera Gry, żeby nie tworzyć lagów innym graczom. Miejsca na hostingu forum mam 10 GB, co jak na tą ilość serwerów jest mało (mapy do bardziej nietypowych modów zajmują nawet 1GB). Pliki lepiej mi trzymać w jednym katalogu dla wszystkich serwerów, gdyż duża ich część się powtarza - oszczędność miejsca. Pliki na serwerach Counter-Strike co jakiś czas się zmieniają (graczom nudzą się mapy, więc są zmieniane co jakiś czas). Przez trzymanie wszystkiego w jednym katalogu mam problemy z utrzymaniem porządku, nie wiem które pliki są używane a które nie.
I tu potrzebny mi jest skrypt, który wczytywałby zawartość plików tekstowych (po jednym na serwer) w których byłaby lista plików które ten serwer używa. Następnie usuwałby wszystkie pliki, których nie używa żaden serwer, oraz ściągał z FTP serwerów pliki, których brakuje.
udało mi się stworzyć jedynie coś takiego:
#!/bin/bash
PLIKI=( $(cat aim.txt) )
PLIKI=( ${PLIKI[@]} $(cat fun.txt) )
cstrike=( $(find cstrike -type f) )
for file in ${cstrike[@]}
do
for i in ${PLIKI[@]}
do
if [[ $i == $file ]]; then
file=
fi
done
done
I na tym stanąłem. Nie wiem jak usunąć z tablicy cstrike elementy, które się znajdują w tablicy PLIKI. Z pobieraniem przez FTP i usuwaniem niepotrzebnych plików powinienem sobie poradzić, ale na to nie znalazłem sposobu.
Czy mógłby mi ktoś pomóc?