JINSI YA KUTENGENEZA WEBSITE FILE BACKUP KWA PHP
Ajali za server au deletion ya bahati mbaya,
Uvunjaji wa usalama (malware, hacking),
Au makosa wakati wa updates.
πΉ 1. Kuelewa Website Backup
Backup ya website inahusisha nakala ya mafaili yote ya mfumo wako, kama:
PHP scripts
CSS & JS files
Uploaded images/files
Configuration files (.env, config.php)
π― Lengo ni kuzipakia kwa urahisi endapo mfumo utaharibika.
π Soma zaidi hapa: https://www.faulink.com
πΉ 2. Kutengeneza PHP Script ya Backup
Tengeneza faili jipya: backup_files.php
<?php
// Directory unayotaka kuhifadhi backup
$source_dir = __DIR__; // root ya project
$backup_dir = __DIR__ . "/file_backups/";
// Unda directory kama haipo
if (!is_dir($backup_dir)) {
mkdir($backup_dir, 0777, true);
}
// Tarehe ya backup
$date = date("Y-m-d_H-i-s");
$zip_file = $backup_dir . "website_backup_" . $date . ".zip";
// Unda ZIP archive
$zip = new ZipArchive();
if ($zip->open($zip_file, ZipArchive::CREATE) !== TRUE) {
exit("β Haiwezi kutengeneza backup file!");
}
// Function ya kuongeza mafaili kwenye zip
function addFolderToZip($dir, $zip, $base) {
$files = scandir($dir);
foreach ($files as $file) {
if ($file == '.' || $file == '..') continue;
$path = "$dir/$file";
if (is_dir($path)) {
addFolderToZip($path, $zip, $base);
} else {
$zip->addFile($path, str_replace($base . '/', '', $path));
}
}
}
// Ongeza mafaili yote kwenye zip
addFolderToZip($source_dir, $zip, $source_dir);
// Funga ZIP file
$zip->close();
echo "β Website backup imefanikiwa: $zip_file";
?>
πΉ 3. Kuzuia Backup ya Mafaili Yasiyotakiwa
Unaweza kuepuka mafaili au folda fulani (mfano: node_modules, backups/, vendor/)
kwa kuongeza kipimo ndani ya function:
$exclude = ['backups', 'file_backups', 'vendor', 'node_modules'];
if (in_array(basename($path), $exclude)) continue;
π Soma mfano kamili zaidi: https://www.faulink.com
πΉ 4. Ku-automate Backup kwa Cron Job (Linux)
Fungua terminal:
crontab -e
Ongeza mstari huu:
0 3 * * * /usr/bin/php /path/to/backup_files.php
π Hii itafanya backup kila siku saa 3 usiku (3 AM).
πΉ 5. Kuhifadhi Backups Nje ya Public Folder
Usihifadhi backups ndani ya public_html au www
β Tumia directory ya juu (inaccessible from browser).
Mfano:
/home/user/
β
βββ public_html/
β βββ index.php
β
βββ backups/
βββ website_backup_2025-11-12.zip
πΉ 6. Kuweka Backup Rotation
Usihifadhi backups nyingi sana (zitajaza disk).
Ongeza code hii kufuta backup za zamani:
$files = glob($backup_dir . "*.zip");
if (count($files) > 5) {
unlink($files[0]); // Futa backup ya zamani zaidi
}
πΉ 7. Email Notification Baada ya Backup
mail("admin@faulink.com", "Backup Completed", "Website backup imefanikiwa: {$zip_file}");
πΉ 8. Directory Structure Bora
project_root/
β
βββ file_backups/
β βββ website_backup_2025-11-12.zip
β
βββ backup_files.php
βββ index.php
πΉ 9. Tahadhari za Usalama
β Usihifadhi .zip backups ndani ya folder linalopatikana kwa URL.
β Fanya encryption ya backup ukihitaji usalama zaidi.
β Backup database na mafaili kwa nyakati tofauti.
π Soma zaidi kwenye: https://www.faulink.com
π Mawasiliano
Kwa msaada wa kitaalamu wa kutengeneza automated backup system kwa website yako:
π± WhatsApp: 0693118509