crazyace

Registered
Nov 23, 2009
4
0
51
Hello Everyone,

I'm here trying to extend my knowledge using cpanel and cron. I'm hoping someone may be able to give me a few hints as to what I may be doing wrong.

So I have a php file that should be able to back up my db's and forums. I have it set to run ever 2 hours. The emails I get say:

Status: 404 Not Found
X-Powered-By: PHP/5.2.9
Content-type: text/html

No input file specified.

I had found a post on this but the guy was doing something different than me. Oh and here is my php script.

PHP:
<?php

// PHP script to allow periodic cPanel backups automatically, optionally to a remote FTP server.
// This script contains passwords. KEEP ACCESS TO THIS FILE SECURE! (place it in your home dir, not /www/)

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

// Info required for cPanel access
$cpuser = "username"; // Username used to login to CPanel
$cppass = "pass"; // Password used to login to CPanel
$domain = "mysite.com"; // Domain name where CPanel is run
$skin = "x3"; // Set to cPanel skin you use (script won't work if it doesn't match). Most people run the default x theme

// Info required for FTP host
$ftpuser = "myusername"; // Username for FTP account
$ftppass = "mypass"; // Password for FTP account
$ftphost = "ftp.mysite.com"; // Full hostname or IP address for FTP host
$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)
$ftpport = "21"; // Port (default = 21)
$rdir = "/"; // Remote dir (defaut = / )

// Notification information
$notifyemail = "[email protected]"; // 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&port=$ftpport&rdir=$rdir&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);
?>
The cron command that I was using is:
php /home/<username>/fullbackup.php

So if anyone has any ideas I'm all ears and can't wait to learn more about this :)
 

crazyace

Registered
Nov 23, 2009
4
0
51
It looks like the cron you run were unable to locate your backup script. Did you actually replace the <username> with your own username?
I put in the account name. Example php/home/bobby/fullbackup.php

The php file is in my root directory.