/
/
home
/
u523034047
/
domains
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.4
PHP 8.3.16
Dir:
/home/u523034047/domains
Edit:
/home/u523034047/domains/domain_backup.php
<?php $rootDirectory = '/home/u523034047/domains'; // Path to your domains folder $backupDirectory = __DIR__ . '/backups'; // Backup storage path $keepDays = 7; // Number of days to keep backups $date = date('Y-m-d_H-i-s'); $logFile = __DIR__ . '/backup_log.txt'; // Log file path // Simple log function function logMessage($message, $logFile) { $time = date('[Y-m-d H:i:s]'); file_put_contents($logFile, $time . " " . $message . PHP_EOL, FILE_APPEND); } // Create backup directory if it doesn't exist if (!file_exists($backupDirectory)) { mkdir($backupDirectory, 0755, true); logMessage("📁 Backup directory created at {$backupDirectory}", $logFile); } // Loop over each domain folder $domainDirs = glob($rootDirectory . '/*', GLOB_ONLYDIR); foreach ($domainDirs as $domainDir) { $domainName = basename($domainDir); $publicHtmlPath = $domainDir . '/public_html'; if (!is_dir($publicHtmlPath)) { logMessage("⏭️ Skipped {$domainName} (no public_html found)", $logFile); continue; } $zip = new ZipArchive(); $backupFile = "{$backupDirectory}/{$domainName}_backup_{$date}.zip"; if ($zip->open($backupFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) { logMessage("❌ Failed to create backup for {$domainName}", $logFile); continue; } $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($publicHtmlPath, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $file) { $filePath = $file->getRealPath(); $relativePath = ltrim(substr($filePath, strlen($publicHtmlPath)), '/'); $zip->addFile($filePath, $relativePath); } $zip->close(); logMessage("✅ Backup created for {$domainName}: {$backupFile}", $logFile); } // Delete old backups older than $keepDays $files = glob($backupDirectory . '/*.zip'); $now = time(); foreach ($files as $file) { if (is_file($file) && ($now - filemtime($file)) > ($keepDays * 86400)) { unlink($file); logMessage("🗑️ Deleted old backup: {$file}", $logFile); } } logMessage("✔️ Backup process completed.", $logFile); ?>
Ukuran: 2.3 KB