12-05-2012, 10:47
|
|
|
חבר מתאריך: 03.01.12
הודעות: 149
|
|
קוד אוטומטי לגיבוי האתרים
מה המצב
יש לי את הקוד הבא
מה שאני רוצה לעשות זה לייצר CORNJOB שמפעיל את הפונקציה הבאה
הפונקציה מקבלת את כל האתרים - דומיין , יוזר, סיסמה וגירסת CPANEL
אם היא נכונה
והאם אני יכול להפעיל אותה מה LOCALHOST לצורכי בדיקה
תודה
קוד PHP:
public function backup()
{
$sites[] = array(
'domaintobackup' => 'domain.co.il',
'cpaneluser' => 'user',
'cpanelpass' => 'password',
'cpanelskin' => 'x3'
);
// "ftp" for active,
// "passiveftp" for passive,
// "scp" for scp - most secure
$ftpmode = 'ftp';
$ftpuser = "backup@domain.co.il";
$ftppass = "password";
$ftphost = "ftp://ftp.domain.co.il"; // Full hostname or IP address for FTP host
$ftpport = "21";
$ftpfold = "/backup"; // Destination folder for backup files
$notifyemail = "email@gmail.com";
$secure = 0; // Set to 1 for SSL (requires SSL support)
$debug = 0; // Set to 1 to have web page result appear in your cron log
foreach ($sites as $site)
{
if($secure)
{
$url = "ssl://".$site['domaintobackup'];
$port = 2083;
}
else
{
$url = $site['domaintobackup'];
$port = 2082;
}
$socket = fsockopen($url,$port);
if (!$socket)
{
echo "Failed to open socket connection… Bailing out!\n";
exit;
}
$authstr = $site['cpaneluser'] . ":" . $site['cpanelpass'];
$pass = base64_encode($authstr);
$params = "dest=$ftpmode&email_radio=1&email=$notifyemail".
"&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport".
"&rdir=$ftpfold&submit=Generate Backup";
fputs($socket,"POST /frontend/".$site['cpanelskin']."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: ".$site['domaintobackup']."\r\n");
fputs($socket,"Authorization: Basic ".$pass."\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");
while (!feof($socket))
{
$response = fgets($socket,4096);
if ($debug)
{
var_dump($response);
}
}
echo $site['domaintobackup']." complete.\n";
fclose($socket);
}
}
|