Menu główne

- Strona główna
- darmowe programy
- Porady
- programowanie
- inne rzeczy
- kontakt

Kategorie porad

- bezpieczeństwo
- (e)-biznes
- telefonia
- maile, spam
- dla webmasterów
- pozostałe

 

 

Tutaj jestes: Jelcyn.com -> porady dla posiadaczy komputerów

Cron - jak obejść PHP działający w Safe Mode

REKLAMA:
Jeśli chcesz się nauczyć tworzyć strony internetowe, a nie masz o tym pojęcia wejdź na bezpłatny blog www.VideoWebmaster.pl

Jeśli już potrafisz tworzyć strony internetowe, wejdź na blog z poradami dla średnio-zaawansowanych webmasterów www.PomocnikWebmastera.pl

Zanim przeczytasz tą poradę, polecam pobrać ebooka "Co to jest cron" (150 KB)

W poradzie Jak zrobić backup serwisu opisałem prosty skrypt pozwalający na zrobienie kopii zapasowej plików na serwerze (spakowanie plików). Mam na pewnym serwerze skrypt napisany w PHP, który pakuje wszystkie pliki txt (w których mam zapisane adresy mailowe osób zapisanych do pewnej subskrycji) i wysyła mi je na email. Niestety ten skrypt nie chodzi na wszystkich serwerach, bo niektóre serwery mają PHP w trybie safe-mode czyli skrypty pisane w PHP nie mogą uruchamiać zewnętrznych programów (w moim wypadku był to gzip). I tutaj jest problem, ale ja go obeszłem w dość śmieszny, ale ciekawy sposób :-) Ponieważ skrypt uruchamiał się raz dziennie, to postanowiłem utworzyć taki oto plik backup.sh (pliki sh pod linuxem to odpowiedniki dosowych plików BAT):

#!/bin/bash
rm ~/public_html/backup/w_arch.tar.gz
mysqldump --all -u nazwa_uzytkownika -phaslo nazwa_bazy >~/public_html/backup/baza_danych.txt
tar -cf ~/public_html/backup/w_arch.tar ~/public_html/backup/*.txt
gzip ~/public_html/backup/w_arch.tar
rm ~/public_html/backup/*.txt

GET http://www.adres mojej strony/backup/backup.php

Ten prosty skrypt zrzuca baze danych do pliku TXT, pakuje plik TXT do pliku w_arch.tar.gz, usuwa pliki TXT i odpala skrypt w PHP, który wysyła maila z załącznikiem (komenda GET). Jest to bardzo ciekawe rozwiązanie. Pozostaje jednak drobny problem: jak odpalić taki skrypt (nie mam dostępu do shella). Odpowiedź jest prosta: dodać wpis do crona!!! Należy wcześniej plikowi backup.sh nadać

Oto jaki wpis ja dodałem do crona:
/home/jelcyn/public_html/backup/backup.sh >>/dev/null

Dzięki temu raz dziennie o 2 w nocy otrzymuje na maila spakowany zrzut baz danych z serwera na którym PHP działa w trybie SAFE MODE!!!

Podobne porady:
- Webmasterze, dlaczego warto się uczyć linuxa
- Jak zrobić backup serwisu
- Ebook "Co to jest cron" (150 KB)

wstecz