CloudWays - サーバー上のすべてのアプリケーションのローカル バックアップをダウンロードするための bash スクリプト
ビン/バッシュ|
|# CloudWays - すべてのアプリケーションのローカル バックアップをダウンロード|
|#
|# * ローカル バックアップが有効で、利用可能である必要があります。 httpssupport.cloudways.com/how-to-download-a-full-backup/|を参照してください。
|# * お使いのマシンの SSH キーをサーバーに追加して、このスクリプトに入力が不要になるようにします。|
|# * バックアップは、指定されたバックアップ ディレクトリ内の今日の日付で新しいフォルダー内に保存されます。 (これは、バックアップが作成された日付ではない可能性があります
|# * これまでのところ Digital Ocean VPS でのみテストされています。|
|# 構成|
|username='YOUR_MASTER_CREDENTIALS_USERNAME'|
|serverIp='YOUR_SERVER_IP'|
|backupDir='LOCAL_BACKUP_DIRECTORY_PATH'# 例: CloudWays/Backups'|
|# バックアップするアプリケーション ID を取得|
|echo "アプリケーション ID を取得しています
|appsssh $username@$serverIp ls /home/master/applications
|appCountapps
|場合 ! appCount >0)) ;その時|
|echo "ãâ°ãâãâãâ± ダウンロードに失敗しました。アプリケーション ID を取得できませんでした
|出口|
|フィ|
|echo "$appCount 個のアプリケーションが見つかりました
|# バックアップ ディレクトリの作成と切り替え|
|dirbackupDirdate F
|場合 ! mkdir "$dir";その時|
|echo "ãâ°ãâãâãâ± ダウンロードに失敗しました。バックアップ ディレクトリを作成できませんでした
|出口|
|フィ|
|cd "$dir"|
|# 各アプリのバックアップを個別にコピーします。単一の scp コマンドほどエレガントではありませんが、問題はありません。|
|doneCount=0|
|アプリ内の for i
|する|
|appIdapps[$i
|ヌミ + 1
|echo num of $appCount] $appId をダウンロードしています
|if scp "$username@$serverIp:/home/master/applications/$appId/local_backups/backup.tgz"appId.t​​gz"; then|
|echo "ãâ°ãâãâãâ 完了
|doneCountdoneCount + 1
|その他|
|echo "ãâ°ãâãâãâ $appId をダウンロードできませんでした
|フィ|
|完了|
|# 最終報告書|
| if doneCount == 0)) ;その時|
|echo "ãâ°ãâãâãâ± すべてのダウンロードに失敗しました
|elif doneCount == $appCount)) ;その時|
|echo "ãâ°ãâãâãâ すべてのダウンロードが成功しました
|その他|
|echo "ãâ°ãâãâ¤ã⨠一部のダウンロードに失敗しました
|フィ|