Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kopia bezpieczeństwa
Forum PHP.pl > Forum > PHP
Fixus
Witam
Potrzebuje wykonać moduł kopii bezpieczeństwa który będzie dla przykładu:
co tydzień wykonywał kopie wszystkich plików, przerzucał je do innego folderu który potem zostanie skopiowany. Pod koniec miesiąca wszystkie kopie są kasowane i tworzone są nowe...czyli pod koniec miesiąca kasuje 4 foldery.
Teraz pytanie...jak to z grubsza zrobić? Wykorzystać do tego CRON`a? Jeśli tak to prosiłbym o jakieś naprowadzenie bo z CRON`a nigdy nie korzystałem i dopiero będę szukał w sieci odpowiednich materiałów.

Pozdrawiam
Istalacar
Uzycie cron taba jest chyba najlatwiejsze:
GET [adres_www] > [email]

Pierwsza czesc jest napewno dobra, drugiej jestem pewny w 90%.
I tyle, na email powinno przychodzic do Ciebie to co skrypt wyswietlil.

Tutaj masz troche o cron tabie:
http://www.redhat.com/docs/manuals/linux/R.../cron-task.html
Fixus
o dzięki...na pewno się przyda.
A jakiś przykład który mnie nakieruje jak to zmontować ktoś by mógł pokazać? smile.gif
i jak go zmusić do wykonywania operacji od danego momentu po tygodniu? Pierwszy raz mam dotknąć CRON`a i nie orientuje się zbytnio tongue.gif
oczywiście operacją jest odpalenie pliku .php na serwerze
Istalacar
Ja uzywam cron taba wbudowanego w cPanel (server webd.pl) i u mnie wyglada to tak:


Przy minucie wpisalem 0,10 (zero, przecinek, dziesiec), oznacza to ze kazda pelna druga godzina i 10 minut po tej godzinie server pobierze 'http://www.strona.pl/folder/plik.php' i jego wynik wysle na adres 'a@b.pl'
'*' (gwiazdka) oznacza ze za kazdym razem ma to byc (przy dniu oznacza ze kazdego dnia), jezeli wszystkie beda gwiazdkami skrypt bedzie sie wykonywal co minute.
Fixus
dobrze ale teraz sprawa natrafia na drobną komplikację...
załóżmy, że zmontowałem ten plik (nazwijmy go obsluga.php) który ma być uruchamiany...ale osoba która go będzie miała uruchomić nie ma dostępu do cPanelu. Więc jak to zrobić żeby po kliknięcie np. na guzik na stronie ten plik był dodawany do obsługi cyklicznej w CRON`ie?

odświeżam
Istalacar
Moze po prostu kaz uruchomic jeden plik php jeden raz dziennie, w tygodniu itp. a w nim z mysql pobierz nazwy plikow ktore chcesz uruchomic, nie chce mi sie pisac calego kodu, wiec tylko w przyblizeniu:

  1. <?php
  2. $zapytanie = mysql_query(&apos;select plik FROM cron_pliki WHERE wtorek = 1;&apos;);
  3. while ($plik = mysql_fetch_row($zapytanie))
  4. {
  5. @require($plik[0]);
  6. }
  7. ?>

Mam nadzieje ze zrozumiesz co tutaj napisalem, zrobilem to orientacyjnie przy zalozeniu ze w tablicy 'cron_pliki' bedziesz mial tabele 'pliki', 'poniedzialek', 'wtorek' (...)
Uwazam, ze sa lepsze sposoby zeby uruchomic pliki w okreslony dzienniz dzielic tak tablice, ale to nie o tym jest ten temat.
Fixus
o ile dobrze zrozumiałem to chcesz żeby po prostu każdego dnia był odpalony inny plik...
ale jak plik (ze skryptem odpowiadającym za skopiowanie plików na przykład) wrzucić z poziomu strony do CRON`a ?
Istalacar
Czy Ty naprawde myslisz ze mi sie chce pisac gotowca?
Pokombinuj troche, to nie jest trudne.
Wystarczy lekko zmodyfikowac ten skrypt, zeby kazdego dnia sprawdzal inny dzien tygodnia.
Poza tym nie wiem czy dokladnie przeczytales to co ja napisalem:
'Moze po prostu kaz uruchomic jeden plik php jeden raz dziennie, w tygodniu itp. a w nim z mysql pobierz nazwy plikow ktore chcesz uruchomic.'
Schemat dzialania:
Strona Administratora ktory nie ma dostepu do crona posiada formularz do zaladowania do bazy danych nazwy pliku.

Skrypt:
Pobiera z bazy danych nazwy plikow php i uruchamia je.

Cron:
Uruchamia skrypt.

Wszystko. Bardziej lopatologicznie bylo by tylko napisac gotowca czego nie zamierzam robic.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.