این اسکریپت امکان پشتیبانگیری دورهای و انتقال خودکار آن به سرور FTP را فراهم میکند. در واقع این اسکریپت با استفاده از کرون جاب سرور، از اطلاعات هاست شما فول بک آپ گرفته و پس از آن به سرور منتقل میکند. پس با ما همراه باشید تا عملیات پشتیبانگیری خودکار در سیپنل را به شما آموزش دهیم.
آنچه در این مقاله میخوانید
اسکریپت پشتیبانگیری خودکار از سیپنل
پشتیبانگیری منظم از اطلاعات حیاتی وبسایتها یکی از ملزومات مدیریت صحیح سرورهای میزبانی وب است. اسکریپت PHP ارائه شده، روشی ساده برای انجام خودکار این کار ارائه میدهد. در ابتدای این اسکریپت باید اطلاعات ورود به سیپنل مانند نام کاربری و رمز عبور و همچنین اطلاعات سرور FTP مقصد را وارد کنید. سپس با استفاده از دستورات POST و Authorization درخواست پشتیبانگیری در سیپنل ثبت میگردد و پس از پایان یافتن عملیات بکآپگیری، نسخه پشتیبان به مقصد ارسال خواهد شد.
نکته: به منظور استفاده از این اسکریپت کافی است آن را در یک فایل PHP با نام cron_backups.php ذخیره کرده و در پوشه home (public_html) هاست خود قرار دهید.
نکته: متغیر skin$ در این اسکریپت اجباری است و باید مقدار آن برابر نام پوستهای باشد که سیپنل شما در حال حاضر از آن استفاده میکند. نحوه بدست آوردن نام پوسته در انتهای مقاله توضیح داده شده است.
<?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 *********
// Information required for cPanel access
$cpuser = ""; // Username used to login to cPanel
$cppass = ""; // Password used to login to cPanel
$ip = ""; // Your main ip address
$skin = ""; // Set to cPanel skin you use (script will not work if it does not match).
// Information required for FTP host
$ftpuser = ""; // Username for FTP account
$ftppass = ""; // Password for FTP account
$ftphost = ""; // IP address of your hosting account
$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)
$ftpport = "21"; // Port (default = 21)
$rdir = "/"; // Remote dir (defaut = / )
// Notification information
$notification_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 = "https://".$ip;
$port = 2083;
}
else
{
$url = $ip;
$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=$notification_email&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,"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);
?>
نکته: اگر در رمز عبور cPanel شما علامت $ وجود دارد، شما میبایست قبل از آن کاراکتر “\” بگذارید.
$cppass = "Rjy!@#Tso\$";
نکته: در برخی از هاستها فقط حالت پشتیبانگیری امن فعال است. پس شما میبایست مقدار متغیر secure$ را برابر یک قرار دهید. در این حالت اسکریپت با پورت ۲۰۸۳ به cPanel متصل میشود. پروتکل پیشفرض https میباشد در صورتی که با خطا مواجه شدید، باید پروتکل را به tls تغییر دهید.
$secure = ۱; // Set to 1 for SSL
if ($secure)
{
$url = "tls://".$ip;
$port = 2083;
}
else
{
$url = $ip;
$port = 2082;
}
آموزش تنظیم کرون جاب فایل در سیپنل
برای آنکه کرون جاب را در سی پنل فعال کنید، میبایست در پنل مدیریت Cpanel و در بخش Advanced به دنبال Cron Jobs بگردید. سپس بر روی آن کلیک کنید. پس از باز شدن برگه مورد نظر، تنظیمات را مثل تصویر زیر انجام داده و در بخش Command دستور زیر را قرار دهید.
/usr/local/bin/php/ /home/tida/cron_backups.php > /dev/null 2>&1
در دستور بالا، بعد از home/ نام کاربری سیپنل (در اینجا tida) باید در دستور وارد شود. برای بدست آوردن نام کاربری و همچنین اطلاعات دیگر نظیر نام پوسته Cpanel و… کافی است در پنل مدیریت، پس از ورود به اولین بلوک سمت راست توجه کنید. اطلاعات مورد نظر در آنجا قرار دارد.
در این نوشته یاد گرفتیم که چگونه میتوان به طور خودکار از سیپنل بکآپگیری کرد. در صورتی که نظری یا پیشنهادی دارید میتوانید آن را با ما در میان بگذارید. همچنین اگر به دنبال ترفندهای بیشتر هستید، به ترفند وردپرس مراجعه کنید.