$lookUpAppID = workAroundForValveChaos($row['appID'], $row['shorten']); $json = webhostRequest('api.steampowered.com', 'easy-wi.com', '/ISteamApps/UpToDateCheck/v0001/?appid=' . $lookUpAppID . '&version=0.0.0.0&format=json'); $decoded = @json_decode($json); if ($decoded and !isset($decoded->response->error) and isset($decoded->response->required_version)) { $query2->execute(array($decoded->response->required_version, $row['appID'])); echo 'Version for appID ' . $row['appID'] . ' is: ' . $decoded->response->required_version . "\r\n"; } else { if (isset($decoded->response->error)) { echo 'Error for appID ' . $row['appID'] . ' is: ' . $decoded->response->error . "\r\n"; } else { echo 'Error for appID ' . $row['appID'] . ' is: Could not retrieve JSON string' . "\r\n"; } } } } $webhostdomain = webhostdomain(0); $query = $sql->prepare("SELECT `timezone`,`voice_autobackup`,`voice_autobackup_intervall`,`voice_maxbackup`,`down_checks`,`resellerid` FROM `settings`"); $query->execute(); while ($row = $query->fetch(PDO::FETCH_ASSOC)) { $resellerstimezone = $row['timezone']; $resellerid = $row['resellerid']; $resellerLockupID = $row['resellerid']; $voice_autobackup = $row['voice_autobackup']; $voice_autobackup_intervall = $row['voice_autobackup_intervall']; $voice_maxbackup = $row['voice_maxbackup']; $down_checks = $row['down_checks']; $stunde = date('G', strtotime($resellerstimezone . ' hour')); $next = date('Y-m-d', strtotime('-' . $voice_autobackup_intervall . ' day')); $query2 = $sql->prepare("SELECT *,AES_DECRYPT(`querypassword`,:aeskey) AS `decryptedquerypassword`,AES_DECRYPT(`ssh2port`,:aeskey) AS `decryptedssh2port`,AES_DECRYPT(`ssh2user`,:aeskey) AS `decryptedssh2user`,AES_DECRYPT(`ssh2password`,:aeskey) AS `decryptedssh2password` FROM `voice_masterserver` WHERE `active`='Y' AND `resellerid`=:reseller_id"); $query2->execute(array(':aeskey' => $aeskey, ':reseller_id' => $resellerid)); while ($row2 = $query2->fetch(PDO::FETCH_ASSOC)) {
private function linuxBackupDeploy($template, $ftpDownloadString) { global $resellerLockupID; $backupDir = $this->removeSlashes($this->appServerDetails['homeDir'] . $this->appServerDetails['userName'] . '/backup/'); $serverDir = $this->removeSlashes($this->appServerDetails['homeDir'] . $this->appServerDetails['userName'] . '/server/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '/'); $scriptName = $this->removeSlashes('/home/' . $this->appMasterServerDetails['ssh2User'] . '/temp/backup-deploy-' . $this->appServerDetails['userName'] . '-' . $this->appServerDetails['serverIP'] . '-' . $this->appServerDetails['port'] . '.sh'); $script = $this->shellScriptHeader; $script .= 'rm -f ' . $scriptName . "\n"; if (strlen($ftpDownloadString) > 0) { $script .= 'if [ ! -d "' . $backupDir . '" ]; then mkdir -p "' . $backupDir . '"; fi' . "\n"; $script .= 'cd ' . $backupDir . "\n"; $script .= 'mv "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2"') . '" "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '_old.tar.bz2"') . "\n"; $script .= 'wget -q --timeout=10 --no-check-certificate ' . $ftpDownloadString . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2' . "\n"; $script .= 'if [ -f "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2"') . '" ]; then' . "\n"; $script .= 'rm -f "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '_old.tar.bz2"') . "\n"; $script .= 'else' . "\n"; $script .= 'mv "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '_old.tar.bz2"') . '" "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2"') . "\n"; $script .= 'fi' . "\n"; } $script .= 'if [ -f "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2') . '" ]; then' . "\n"; $script .= 'rm -rf ' . $this->removeSlashes($serverDir . '/' . $template . '/*') . "\n"; $script .= 'fi' . "\n"; $script .= 'if [ ! -d "' . $this->removeSlashes($serverDir . '/' . $template) . '" ]; then mkdir -p "' . $this->removeSlashes($serverDir . '/' . $template) . '"; fi' . "\n"; $script .= '${IONICE}nice -n +19 tar -C "' . $this->removeSlashes($serverDir . '/' . $template) . '" -xjf "' . $this->removeSlashes($backupDir . '/' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . '-' . $template . '.tar.bz2"') . "\n"; $script .= 'wget -q --no-check-certificate -O - ' . webhostdomain($resellerLockupID) . '/get_password.php?w=rb\\&shorten=`id -un`\\id=' . $this->appServerDetails['port'] . '\\&ip=' . $this->appServerDetails['serverIP'] . "\n"; $this->addLinuxScript($scriptName, $script); $this->addLogline('app_server.log', 'Deployed backup for app template ' . $template . ' on server ' . $this->appServerDetails['serverIP'] . '_' . $this->appServerDetails['port'] . ' owned by user ' . $this->appServerDetails['userName']); }