حتما به این موضوع بر خورد کرده اید که چگونه می توان از جوملای خود بصورت روزانه بک آپ تهیه کرد؛ تهیه بک آپ بصورت روزانه یک امر ضروری و مهم می باشد که هر سایتی باید آن را انجام دهد تا از خطرات احتمالی بتواند یک پشتیبان در اختیار داشته باشد.
اگر با کامپوننت فوق العاده آکیبا بک آپ (به انگلیسی Akeeba Backup) کار کرده باشید می دانید که تهیه بک آپ به قدری آسان و بدون زحمت انجام می شود که بک آپ گرفتن را یک کار لذت بخش و شیرین تبدیل کرده است.
امروز ما می خواهیم به شما روشی آموزش دهیم که بتوانید این کامپوننت را طوری تنظیم کنید که بصورت خودکار در یک زمان خاص از روز یا هفته یا حتی ماه برای شما بک آپ بگیرد؛ برای همین موضوع ابتدا شما باید تنظیمات مربوط به این کامپوننت را انجام داده باشید و سیستم آماده گرفتن آپ شده باشد. سپس مراحل زیر را قدم به قدم انجام دهید.
1. در قدم اول وارد بخش تنظیمات این کامپوننت (دکمه تنظیمات یا انتخابها که در بالا سمت چپ قرار دارد) شوید مانند تصویر زیر :
بعد از وارد شدن به این بخش لطفا روی تب "Front-end backup" کلیک کنید تا گزینه های آن نمایش داده شود.
حال موارد مهم در تصویر زیر که شما با آن مواجه خواهید شد را توضیح خواهیم داد.
A : برای فعال سازی بک آپ از دسترسی دور ، این گزینه را فعال کنید. (این گزینه مهم بوده و باید فعال شود)
B : برای بررسی بک آپ های با شکست مواجه شده این گزینه را فعال کنید. (این گزینه اختیاری می باشد)
C : برای اینکه بتوانید از طریق یک دسترسی از راه دور بک آپ بگیرید باید یک کد امنیتی تعریف کنید تا شخصی به غیر از شما نتواند دستور بک آپ را صادر کند؛ (شدیدا پیشنهاد می شود یک کد 6 تا 64 کارکتری متشکل از a-z 0-9 A-Z باشد و کارکترهای خاص درون آن استفاده نشود)
D : منطقه زمانی بک آپ را هم می توانید تنظیم کنید. (پیشنهاد می شود روی Default تنظی شود)
E : اگر بخواهید بعد از تهیه هر بار بک آپ یک ایمیل به شما ارسال شود می توانید این گزینه را روی بلی تنظیم کنید.
F : آدرس ایمیلی که می خواهید اطلاع رسانی بک آپ های موفق به آن ارسال شود را وارد کنید؛ اگر خالی رها کنید به تمام کاربری مدیریت جوملا تان ارسال خواهد شد. (دقت کنید که گزینه E باید روی بلی تنظیم شده باشد)
G : موضوع ایمیل اطلاع رسانی را وارد کنید. (دقت کنید که گزینه E باید روی بلی تنظیم شده باشد)
H : متن ایمیل اطلاع رسانی را در این قسمت وارد کنید؛ بعضی از مقادیر جایگزین مانند : [HOST] ، [DATE] ، [PROFILENUMBER] ، [PROFILENAME] ، [PARTCOUNT] ، [FILELIST] هم می توانید در متن استفاده کنید. (دقت کنید که گزینه E باید روی بلی تنظیم شده باشد)
I : آدرس ایمیل اطلاع رسانی برای بک آپ های ناموفق را می توانید اینجا وارد کنید.(دقت کنید که گزینه B باید روی بلی تنظیم شده باشد)
J : موضوع ایمیل اطلاع رسانی بک آپ های ناموفق را اینجا وارد کنید. (دقت کنید که گزینه B باید روی بلی تنظیم شده باشد)
K : متن ایمیل اطلاع رسانی بک آپ های ناموفق را در این بخش وارد کنید. (دقت کنید که گزینه B باید روی بلی تنظیم شده باشد)
2. بعد از ذخیره ، به قسمت داشبورد کامپوننت آکیبا بک آپ برگردید و از قسمت Advanced Operations ، روی گزینه Schedule Automatic Backups کلیک کنید.
در صفحه باز شده یک توضیح کامل درباره انواع روش های ایجاد کران جاب در هاست خواهید دید که به اختیار خودتان می توانید هر یک از آنها را انتخاب کنید.
اما برای این آموزش ما از روش "فراخوانی دستور بک آپ با کمک cUrl" استفاده می کنیم؛ اما هر یک از روش های فوق قابل انجام خواهد بود و فرق چندانی در نتیجه به دست آمده نخواهد داشت.
در همین صفحه به دنبال بخش "URL" بگردید که معمولا در انتهای صفحه قرار دارد؛ یک لینک به رنگ قرمز مشاهده می کنید که از آدرس سایت خودتان شروع شده و در انتهای این لینک باید عبارت key={YOUR_KEY} وجود داشته باشد؛ در سمت راست علامت مساوی باید عبارت Secret Key که در قدم اول و بخش C پر کردید قرار گرفته باشد؛ این لیتک را باید آن را در جایی ذخیره کنید چون در ادامه به آن نیاز خواهیم داشت.
برای سرعت بخشیدن به این آموزش ما قبلا کد مربوطه را که شما باید درون هاست خود قرار دهید آماده کرده ایم؛ این کد در واقع نسخه توسعه داده شده کد PHP ای می باشد که در قسمت "PHP Script" همین صفحه وجود دارد منتها با کمی تغییر امنیت حملات DDOS را به حداقل رسانده ایم.
کد زیر را درون یک فایل PHP قرار دهید و آن را در روت هاست خود آپلود کنید؛ توجه کنید که باید بتوان بصورت مستقیم به آن دسترسی پیدا کرد. مثلا اگر فایل ساخته شده test.php باشد باید بتوانیم از طریق yoursite.com/test.php به آن دسترسی پیدا کنیم.
<?php
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$server_ip = $_SERVER['SERVER_ADDR'];
$client_ip = getRealIpAddr();
if($server_ip !== $client_ip) {
die;
}
$akeeba_backup_url = 'YOUR_SITE_BACKUP_URL';
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $akeeba_backup_url);
curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl_handle,CURLOPT_MAXREDIRS, 10000);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER, 1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
echo "Sorry, the backup didn't work.";
else
echo $buffer;
?>
کد بالا را می توانید از لینک زیر دریافت کنید :
در خط 22 چک می کند که اگر درخواست کننده همان سروری که فایل درونش وجود دارد ، نباشد از ادامه کار جلوگیری می کند؛ با این کار جای نگرانی برای حملات DDOS وجود نخواهد داشت.
3. حال نوبت به تنظیم کردن کران جاب (Cron job) می باشد که آخرین مرحله خواهد بود؛ برای این کار وارد مدیریت هاست » بخش Cron Job شوید. (در این آموزش از هاست دایرکت ادمین استفاده می شود اما برای ست کرد در دیگر هاست ها در صورت نداشتن اطلاعات کافی می توانید از گوگل یا مدیریت هاستینگ خود کمک بگیرید)
بخش تنظیم زمان کران جا کمی وقت گیر می باشد و در این آموزش ما سعی می کنیم با یک مثال ساده از آن بگذریم اما شما می توانید برای آموزش های تکمیل تر به گوگل یا مدیریت هاستینگ خود مراجعه کنید.
در قسمت Minute ما عدد 0 و در قسمت Hour مقدار 3 را وارد کرده ایم؛ به این معنا که در ساعت 03:00 هر نیمه شب باید دستوری که در بخش Command نوشته می شود اجرا شود.
اگر بخواهیم مثلا روز خاصی از ماه این دستور اجرا شود در قسمت Month عددی بین 1 تا 31 را وارد می کنیم که به عنوان شماره روز هر ماه در نظر گرفته می شود.
در قسمت Month هم می توانید یک عدد بین 1 تا 12 وارد کنید که به معنای شماره ماه خواهد بود.
و در نهایت در قسمت Day Of Week می توانید شماره روز از هفته را وارد کنید؛ زمانی که سیستم به آن شماره روز برسد دستور مربوطه اجرا خواهد شد. دقت کنید که عدد 1 از دو شنبه اجرا خواهد شد.
در قسمت Command دستور زیر را قرار دهید و در نهایت روی دکمه Add کلیک کنید. (دقت کنید که باید جای عبارت YOUR_SITE.com/dailyBackup.php آدرس فایل PHP که در قسمت قبلی درون هاست ساخته اید را قرار دهید. فراموش نکنید که بهتر است از آدرس دامنه سایت تان و http:// وارد شود)
wget --max-redirect=10000 "http://YOUR_SITE.com/dailyBackup.php" -O - 1>/dev/null 2>/dev/null
حال منتظر ایمیل های اطلاع رسانی بک آپ ها باشید چرا که اگر بک آپ کامل گرفته شود باید به شما از طریق ایمیل اطلاع رسانی شود.
تیم آموزشی جومینا مارکت/