Hi there,
I wonder if anyone can help me.
I'm trying to setup a Cron job via cPanel to create a backup of my home directory and then ftp an archive to my internal ftp server.
This script works brilliantly in meeting more than my requirement:
This script backs up everything on my domain which is just under 1Gb. What I'd like to do is backup only my home directory.Code:<?php // PHP script to allow periodic cPanel backups automatically. // Permissions on this file should be 600 // Place outside your public_html // Crontab: 30 3 * * * /usr/local/bin/php /home/username/cpanel_backup.php // ********* Configuration ********* // Info required for cPanel access $cpuser = "user"; // Username used to login to CPanel $cppass = "password"; // Password used to login to CPanel $domain = "domain.co.uk"; // Domain name where CPanel is run $skin = "x"; // Set to cPanel skin you use (script won't work if it doesn't match) // Info required for FTP host $ftpuser = "user"; // Username for FTP account $ftppass = "password"; // Password for FTP account $ftphost = "127.0.0.1"; // Full hostname or IP address for FTP host $ftpmode = "passiveftp"; // FTP mode ("ftp" for active, "passiveftp" for passive) // Notification information $notifyemail = "email@email.com"; // 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 = 1; // *********** Don't Touch!! ********* 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); ?>
I imagine that the line:
is the key, how would I tell it not to do a full backup but only the home directory?Code:fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
Thanks in advance,
Steven



LinkBack URL
About LinkBacks
Reply With Quote




