function GetServerDetails($host) { global $backupservers; foreach ($backupservers as $backupserver) { if ($backupserver['host'] == $host) { return $backupserver; } } return false; } $backupjob = GetJobDetails($argv[1]); if (!$backupjob) { $log .= 'Job ID does not exist' . PHP_EOL; exitcron(); } $backupserver = GetServerDetails($backupjob['source']); if (!$backupserver) { $log .= 'Server does not exist' . PHP_EOL; exitcron(); } if ($backupjob['type'] == 'full' || $backupjob['type'] == 'incremental') { $log .= 'Starting file backup' . PHP_EOL; set_include_path($config['path'] . '/libs/phpseclib'); include 'Net/SSH2.php'; include 'Net/SFTP.php'; include 'Crypt/RSA.php'; include 'Crypt/AES.php'; $ssh = new Net_SSH2($backupserver['host'], $backupserver['port']); $sftp = new Net_SFTP($backupserver['host'], $backupserver['port']); if ($backupserver['authtype'] == 'password') { if (!$ssh->login($backupserver['username'], $backupserver['password'])) {
} return false; } function GetServerDetails($host) { global $backupservers; foreach ($backupservers as $backupserver) { if ($backupserver['host'] == $host) { return $backupserver; } } return false; } $backup = GetBackupDetails($argv[1]); $backupjob = GetJobDetails($backup['id']); $backupserver = GetServerDetails($argv[2]); if (isset($backupjob['encryption']) && $backupjob['encryption'] == 'GPG') { echo 'GPG-encrypted backups cannot be automatically restored' . PHP_EOL; die; } set_include_path($config['path'] . '/libs/phpseclib'); include 'Crypt/AES.php'; if ($backupjob['type'] == 'full' || $backupjob['type'] == 'incremental') { set_include_path($config['path'] . '/libs/phpseclib'); include 'Net/SSH2.php'; include 'Net/SFTP.php'; include 'Crypt/RSA.php'; $ssh = new Net_SSH2($backupserver['host'], $backupserver['port']); $sftp = new Net_SFTP($backupserver['host'], $backupserver['port']); if ($backupserver['authtype'] == 'password') { if (!$ssh->login($backupserver['username'], $backupserver['password'])) {