JINSI YA KUTENGENEZA AUTOMATED DATABASE BACKUP KWA PHP
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