Skip to content
View in the app

A better way to browse. Learn more.

Web Designer Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Backup Server Script doesn't work

Featured Replies

Hi, I have a PHP script that should backup my entire server. I have CronJobs running the script every night, the script doesn't create a backup of my entire server. I've tried and tried and tried to find a solution as to why the script doesn't work, all without any success.

 

Below is the script, I filled in all the details that need to be filled in for the copy that is running on my server.


 

// 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 = "cpaneluser"; // Username used to login to CPanel

$cppass = "cpanelpw"; // Password used to login to CPanel

$domain = "mycpanel.website.com:port"; // Domain name where CPanel is
run and the port. I had to put the port here to get it to work.

$skin = "x3"; // Set to cPanel skin you use (script won't work if it
doesn't match). Most people run the default x theme (I was running x3)
// Info required for FTP host

$ftpuser = "username"; // Username for FTP account

$ftppass = "password"; // Password for FTP account

$ftphost = "website.com"; // Full hostname or IP address for FTP host

$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)

$ftpport = "21"; // FTP Port (21 default)

$ftprdir = "backupdir"; // Backup Directory
// Notification information

$notifyemail = "notifyme@website.com"; // Email address to send results
// Secure or non-secure mode

$secure = 1; // 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=$ftprdir&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);
 

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.