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
|앱카운트앱
|만약 ! 앱 수 >0)) ; 그때|
|echo "ðÃÂÃÂñ 다운로드 실패. 응용 프로그램 ID를 검색할 수 없습니다.
|퇴장|
|파이|
|echo "$appCount 응용 프로그램을 찾았습니다.
|# 백업 디렉토리 생성 및 전환|
|dirbackupDirdate F
|만약 ! mkdir "$dir"; 그때|
|echo "ðÃÂÃÂñ 다운로드에 실패했습니다. 백업 디렉토리를 생성할 수 없습니다.
|퇴장|
|파이|
|cd "$dir"|
|# 각 앱 백업을 별도로 복사합니다. 단일 scp 명령만큼 우아하지는 않지만 괜찮을 것입니다.|
|완료카운트=0|
|앱에서 i용
|해야|
|appIdapps[$i
|누미 + 1
|echo num of $appCount] $appId 다운로드 중
|if scp "$username@$serverIp:/home/master/applications/$appId/local_backups/backup.tgz"appId.tgz"; 다음|
|echo "ðÃÂÃÂà완료
|doneCountdoneCount + 1
|다른|
|echo "ðÃÂÃÂÃâ $appId를 다운로드할 수 없습니다.
|파이|
|완료|
|# 최종 보고서|
|if doneCount == 0)) ; 그때|
|echo "ðÃÂÃÂñ 모든 다운로드 실패
|elif doneCount == $appCount)) ; 그때|
|echo "ðÃÂÃÂÃâ 모든 다운로드 성공
|다른|
|echo "ðÃÂäÃ⨠일부 다운로드 실패
|파이|