Database backup ni hatua muhimu katika usalama na uhai wa mfumo wako.
Lengo ni kuhakikisha data haipotei endapo kutatokea:

makosa ya mfumo,

ajali ya server,

au mashambulio ya uharibifu (SQL injection / malware).

πŸ”Ή 1. Kuelewa Backup Automation

Backup ya MySQL Database inaweza kufanywa kwa:

PHP script (manual or automated via cron job)

Command line (mysqldump)

Cloud storage (Google Drive, Dropbox, etc.)

Tunajifunza njia rahisi β€” PHP + Cron Job automation.

πŸ‘‰ Soma zaidi kwenye: www.faulink.com

πŸ”Ή 2. Unda PHP Script ya Backup

Tengeneza faili mpya: backup_database.php

<?php
// Database configuration
$host = "localhost";
$username = "root";
$password = "";
$database_name = "faulink_db";

// Directory ya kuhifadhi backups
$backup_dir = __DIR__ . "/backups/";

// Unda folder kama halipo
if (!is_dir($backup_dir)) {
mkdir($backup_dir, 0777, true);
}

// Tarehe ya backup
$date = date("Y-m-d_H-i-s");
$backup_file = $backup_dir . "backup_" . $date . ".sql";

// Command ya mysqldump
$command = "mysqldump --user={$username} --password={$password} --host={$host} {$database_name} > {$backup_file}";

// Endesha command
exec($command, $output, $return_var);

// Angalia kama imefanikiwa
if ($return_var === 0) {
echo "βœ… Backup imefanikiwa: {$backup_file}";
} else {
echo "❌ Backup imeshindwa!";
}
?>

πŸ”Ή 3. Ku-automate Backup kwa Cron Job (Linux Server)

Fungua terminal:

crontab -e


Ongeza mstari huu:

0 2 * * * /usr/bin/php /path/to/backup_database.php


πŸ‘‰ Hii itafanya backup kila siku saa 2 usiku (2 AM).

πŸ”Ή 4. Kuhifadhi Backup Kwenye Cloud (Optional)

Unaweza kuongeza code ya kupakia backup kwenye Google Drive, Dropbox, au server nyingine ukitumia API.
Mfano:

Google Drive API PHP Client

Dropbox SDK for PHP

πŸ‘‰ Soma zaidi kwenye: https://www.faulink.com

πŸ”Ή 5. Usalama wa Backup

βœ… Weka backups kwenye directory isiyopatikana moja kwa moja kwa browser (outside public_html)
βœ… Tumia password protection kwa folder za backup
βœ… Fanya rotation (mfano: backup za siku 7 tu ziwepo)

Mfano wa rotation code:

$files = glob($backup_dir . "*.sql");
if (count($files) > 7) {
unlink($files[0]); // Futa backup ya zamani
}

πŸ”Ή 6. Email Notification (Optional)

Unaweza kuongeza sehemu ya kutuma email ukishafanya backup:

if ($return_var === 0) {
mail("admin@faulink.com", "Database Backup Successful", "Backup file: {$backup_file}");
}

πŸ”Ή 7. Directory Structure Inayopendekezwa
project_root/
β”‚
β”œβ”€β”€ backups/
β”‚ β”œβ”€β”€ backup_2025-11-12_02-00-00.sql
β”‚
β”œβ”€β”€ config/
β”‚ └── db_config.php
β”‚
β”œβ”€β”€ backup_database.php
└── index.php


πŸ‘‰ Kwa maelezo zaidi tembelea: www.faulink.com

πŸ“ž Mawasiliano

Kwa msaada au ushauri wa kuanzisha automated backup system kwenye project yako:
πŸ“± WhatsApp: 0693118509