0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာအရံသိမ်းဆည်းခြင်းသည်အရေးပါသောလုပ်ငန်းတစ်ခုဖြစ်သည်။ ပုံမှန် backups များသည်ဆာဗာပျက်ကွက်ခြင်းသို့မဟုတ်ဟက်ကာတိုက်ခိုက်မှုကြောင့်ဖြစ်သောဒေတာဆုံးရှုံးမှုကိုထိရောက်စွာရှောင်ရှားနိုင်ပြီးမည်သည့်အရေးပေါ်အခြေအနေတွင် 0 က်ဘ်ဆိုက်ကိုအလျင်အမြန်ပြန်လည်ထူထောင်နိုင်သည်။ ဤဆောင်းပါးသည် PHP နှင့် FTP protocols များမှတဆင့်အလိုအလျောက်အရန်ကူးခြင်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာသင်၏ 0 က်ဘ်ဆိုက်ပတ် 0 န်းကျင်သည် PHP နှင့် FTP ဆက်စပ်သော extension များတပ်ဆင်ထားကြောင်းသေချာပါစေ။ ထို့နောက် Automatic Backup အတွက် FTP ဆက်သွယ်မှုကိုအသုံးပြုသော PHP script ကိုကျွန်ုပ်တို့ဖန်တီးလိမ့်မည်။
ပထမ ဦး စွာ FTP server ၏ connection ၏သတင်းအချက်အလက်ကို configure လုပ်ရန်လိုအပ်သည်။ ဤတွင် PHP script ကိုဥပမာတစ်ခုဖြစ်သည်။
<?php
// FTPဆာဗာဖွဲ့စည်းမှု
$ftp_server = "ftp.example.com";
$ftp_username = "your_username";
$ftp_password = "your_password";
// ချိတ်ဆက်ပါFTPဆာဆာ
$conn_id = ftp_connect($ftp_server);
// လော့ဂ်အင်FTPဆာဆာ
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
// ဆက်သွယ်မှုနှင့် login ရလဒ်များကိုစစ်ဆေးပါ
if ((!$conn_id) || (!$login_result)) {
die("FTPဆက်သွယ်မှုသို့မဟုတ် login မအောင်မြင်ပါ!");
}
ထို့နောက်ကျွန်ုပ်တို့သည် directory ကို back up လုပ်ရန်နှင့်ပစ်မှတ်လမ်းညွှန်ကိုသတ်မှတ်ရန်လိုအပ်သည်။ FTP server တွင်ပစ်မှတ်လမ်းညွှန်တည်ရှိမှုကိုသေချာအောင်လုပ်ပါ။ ဤတွင် backup directory နှင့် Target Directory အတွက်ချိန်ညှိချက်များ -
<?php
// back up မှလမ်းညွှန်
$backup_dir = "/path/to/backup/directory";
// ပစ်မှတ် directory ကို backup
$target_dir = "/path/to/target/directory";
// ချိတ်ဆက်ပါFTPဆာဆာ
$conn_id = ftp_connect($ftp_server);
// လော့ဂ်အင်FTPဆာဆာ
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);
// ဆက်သွယ်မှုနှင့် login ရလဒ်များကိုစစ်ဆေးပါ
if ((!$conn_id) || (!$login_result)) {
die("FTPဆက်သွယ်မှုသို့မဟုတ် login မအောင်မြင်ပါ!");
}
// ပြန်လည်ရယူရန် directory ကိုပြန်လည်ရယူပါFTPဆာဆာ
backup_directory($backup_dir, $target_dir);
// ရုပ်သိမ်းခြင်းFTPဆက်
ftp_close($conn_id);
// recursive backup directory function ကို
function backup_directory($backup_dir, $target_dir) {
global $conn_id;
// ပစ်မှတ်လမ်းညွှန်တစ်ခုဖန်တီးပါ
if (!ftp_mkdir($conn_id, $target_dir)) {
die("ပစ်မှတ်လမ်းညွှန်တစ်ခုဖန်တီးပါ失败!");
}
// backup directory ရှိဖိုင်များနှင့် subdirectories အားလုံးကိုစာရင်းပြုစုပါ
$contents = ftp_nlist($conn_id, $backup_dir);
// directory ထဲတွင်ဖိုင်များနှင့် subdirectories အားလုံးကို back up လုပ်ပါ
foreach ($contents as $file) {
// ဖိုင်အမျိုးအစားကိုစစ်ဆေးပါ
$is_dir = ftp_size($conn_id, $file) == -1;
if ($is_dir) {
// ဒါကြောင့် subdirectory လျှင်,recursive backup
backup_directory($backup_dir . "/" . $file, $target_dir . "/" . $file);
} else {
// ဖိုင်တစ်ခုပါ,download လုပ်ပြီးပစ်မှတ်လမ်းညွှန်သို့သိမ်းဆည်းပါ
if (!ftp_get($conn_id, $target_dir . "/" . $file, $backup_dir . "/" . $file, FTP_BINARY)) {
die("Backup ဖိုင်မအောင်မြင်ပါ!");
}
}
}
}
အထက်ပါ settings ကိုပြီးပါကအရန်ကူးခြင်း script ကိုအလိုအလျောက် Execute လုပ်ရန်အချိန်သတ်မှတ်ထားသည့်အလုပ်တစ်ခုကိုသင်ဖန်တီးနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် 3 A.m. တွင်နေ့စဉ်အရန်ကူးခြင်း script များကိုနေ့စဉ်အလိုအလျှောက်ဖွင့်နိုင်သည်။ Cron Configuration မှတဆင့်
0 3 * * * php /path/to/backup/script.php
PHP နှင့် FTP protocol ကိုပေါင်းစပ်ခြင်းအားဖြင့်မတော်တဆဆုံးရှုံးမှုကိုရှောင်ရှားရန်ဝက်ဘ်ဆိုက်အချက်အလက်များ၏အလိုအလျောက်အရံသိမ်းဆည်းခြင်းကိုအလွယ်တကူရရှိနိုင်သည်။ ကွဲပြားခြားနားသောလိုအပ်ချက်များအတွက်သင်သည်သင်၏ backup မဟာမိတ်နည်းဗျူဟာကိုအမှန်တကယ်အခြေအနေများနှင့်အညီညှိနိုင်သည်။ ဤဆောင်းပါးသည်သင်၏ 0 က်ဘ်ဆိုဒ်အချက်အလက်များ၏လုံခြုံရေးကိုပိုမိုကောင်းမွန်စွာစီမံနိုင်အောင်ဤဆောင်းပါးသည်သင့်အားကူညီနိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။