JINSI YA KUTENGENEZA WEBSITE FILE BACKUP KWA PHP
Backup ya website files ni muhimu ili kulinda project yako dhidi ya:
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
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