Skocz do zawartości
franczez

Cron-wykonanie skryptu php

Polecane posty

Witam. Chcialbym aby co tydzien wykonywal sie skrypt php robiacy backup strony. Niestety co bym nie wpisal cron zwraca mi:

/bin/sh: 40: command not found

 

Co musze wpisac aby zostal on wykonany?

 

A oto moj skrypt:

<?php

// PHP script to allow periodic cPanel backups automatically.
// Based on script posted by max.hedroom in cpanel.net forums
// This script contains passwords. KEEP ACCESS TO THIS FILE SECURE!

// ********* THE FOLLOWING ITEMS NEED TO BE CONFIGURED *********

// Info required for cPanel access
$cpuser = "my_login"; // Username used to login to CPanel
$cppass = "pass"; // Password used to login to CPanel
$domain = "games-space.pl"; // Domain name where CPanel is run
$skin = "root"; // Set to cPanel skin you use (script won't work if it doesn't match)

// Info required for FTP host
$ftpuser = "ftp_login "; // Username for FTP account
$ftppass = "pass"; // Password for FTP account
$ftphost = "ftp.games-space.pl"; // Full hostname or IP address for FTP host
$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)

// Notification information
$notifyemail = "my_email"; // Email address to send results

// Secure or non-secure mode
$secure = 0; // Set to 1 for SSL (requires SSL support), otherwise will use standard HTTP

// Set to 1 to have web page result appear in your cron log
$debug = 0;

// *********** NO CONFIGURATION ITEMS BELOW THIS LINE *********

if ($secure) {
$url = "ssl://".$domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo "Failed to open socket connection... Bailing out!\n"; exit; }

// Encode authentication string
$authstr = $cpuser.":".$cppass;
$pass = base64_encode($authstr);

$params = "dest=$ftpmode&email=$notifyemail&server=$ftphost& user=$
ftpuser&pass=$ftppass&submit=Generate Backup";

// Make POST to cPanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domain\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Grab response even if we don't do anything with it.
while (!feof($socket)) {
$response = fgets($socket,4096);
if ($debug) echo $response;
}

fclose($socket);

?>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

PHP raczej nie jest skryptem shelowym :) dlatego ten komunikat ci zwraca

 

/usr/bin/php skrypt.php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

http://www.webhostin...prawne-zadanie/

 

 

59 23 01 03 * root /usr/bin/php /home/plik/testerzxc.php

 

Skrypt wykona się 01 marca o godzinie 23:59.

 

Ty możesz zrobić tak, że nie ustawisz miesiąca:

 

59 23 01 * * root /usr/bin/php /home/plik/testerzxc.php

 

Skrypt będzie się wykonywał 1 dnia kazdego miesiąca. Wyznacz sobie dni w których ma wykonywać skrypt, dodaj wpisy do crona np.

 

59 23 01 * * root /usr/bin/php /home/plik/testerzxc.php

59 23 08 * * root /usr/bin/php /home/plik/testerzxc.php

59 23 itd * * root /usr/bin/php /home/plik/testerzxc.php

 

 

Pozdrawiam.

Edytowano przez fuqet (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hej!

prymitywna, acz w 100% skuteczna metoda to wywołanie skryptu w taki sposób

wget -O /dev/null http://test.pl/test.php >/dev/null 2>&1

zamiast

/usr/bin/php /home/plik/testerzxc.php

gdzie url do skryptu to http://test.pl/test.php.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

server wspoldzielony.

W informacjach widze cos takiego moze pomoze. Paths and Directories-.:/usr/lib/php:/usr/local/lib/php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Łukasz
prymitywna, acz w 100% skuteczna metoda to wywołanie skryptu w taki sposób

wget....

W niektórych sytuacjach, to może być najgorsze co można zrobić ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×