franczez 0 Zgłoś post Napisano Marzec 1, 2010 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
BlueMan 69 Zgłoś post Napisano Marzec 1, 2010 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
fuqet 0 Zgłoś post Napisano Marzec 1, 2010 (edytowany) 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 Marzec 1, 2010 przez fuqet (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
drajvver 4 Zgłoś post Napisano Marzec 1, 2010 a nie wystarczy samo php -f ? Ja tak mam u siebie i śmiga Udostępnij ten post Link to postu Udostępnij na innych stronach
franczez 0 Zgłoś post Napisano Marzec 2, 2010 ciagle to samo Udostępnij ten post Link to postu Udostępnij na innych stronach
fuqet 0 Zgłoś post Napisano Marzec 2, 2010 Zobacz czy masz taki plik jak /usr/bin/php w katalogu /usr/bin/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Hekko.pl 239 Zgłoś post Napisano Marzec 2, 2010 To jest serwer dedykowany/vps czy współdzielony ? Spróbuj też /usr/local/bin/php Udostępnij ten post Link to postu Udostępnij na innych stronach
crazyluki 114 Zgłoś post Napisano Marzec 2, 2010 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
franczez 0 Zgłoś post Napisano Marzec 3, 2010 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
Hekko.pl 239 Zgłoś post Napisano Marzec 3, 2010 /usr/local/lib/php To użyj tego. Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Łukasz Zgłoś post Napisano Marzec 3, 2010 prymitywna, acz w 100% skuteczna metoda to wywołanie skryptu w taki sposóbwget.... 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