<?PHP$conf = array();$conf['backup_time'] = time();$conf['backup_limit'] = 7;$conf['backup_dir'] = "/home/skarecrow/backup";$conf['backup_fld'] = "/home/skarecrow/www";$conf['fl_backuplog'] = "/home/skarecrow/backup/log.txt";$conf['fl_checksum'] = "/home/skarecrow/backup/chksum.txt";$conf['fl_backup'] = "Leave_Blank";$conf['backup_sum'] = "Leave_Blank";logMessage("Starting Backup Generator: ".date("F j, Y, g:i a"));build();BuildBackup();CheckBackup();function build() { global $conf; if (!file_exists($conf['fl_checksum'])) { $conf['backup_sum'] = "null"; logMessage("Checksum file does not exist. Setting sum to null."); } else { $conf['backup_sum'] = file_get_contents($conf['fl_checksum']); $conf['backup_sum'] = str_replace("\n", "", $conf['backup_sum']); logMessage("Checksum loaded. Last Backup checksum {$conf['backup_sum']}"); }}function BuildBackup() { global $conf; $conf['fl_backup'] = $conf['backup_dir']."/".$conf['backup_time'].".tar"; logMessage("Generating backup {$conf['fl_backup']}"); exec("tar -cf {$conf['fl_backup']} {$conf['backup_fld']}"); if (!file_exists($conf['fl_backup'])) { logMessage("Backup utility failed: ".date("F j, Y, g:i a")); logMessage("The backup utility could not generate a backup."); logMessage("Please make sure you have the correct permissions set on {$conf['backup_dir']}"); logMessage("If that does not work you can contact me at http://www.WarpedCoders.org/"); die(); }}function CheckBackup() { global $conf; $chksum = exec("md5sum {$conf['fl_backup']}"); $chksum = explode(" ", $chksum); $chksum = $chksum[0]; if ($conf['backup_sum'] == $chksum) { logMessage("{$conf['fl_backup']} has the same checksum as the previous backup."); logMessage("Backup will be deleted do to a previous backup of the same checksum."); if (unlink($conf['fl_backup'])) { logMessage("Backup {$conf['fl_backup']} was deleted successfully!"); } else { logMessage("Could not delete backup {$conf['fl_backup']}"); } } else { logMessage("Detected changes in file checksum. Backup will be saved."); updateSum($chksum); }}function cleanup() { global $conf;}function updateSum($sum) { global $conf; $file = fopen($conf['fl_checksum'], "w"); fputs($file, $sum); fclose($file);}function logMessage($msg) { global $conf; $file = fopen($conf['fl_backuplog'], "a+"); fwrite($file, $msg."\n"); fclose($file);}logMessage("Backup Generator Completed: ".date("F j, Y, g:i a"));?>