FAUSTINE MWOYA November 12, 2025 2 min read

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

🚀 Unahitaji mfumo au website ya biashara?

Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.

Share this post

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Faulink Support