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
|appCount应用程序
|如果! appCount >0)) ;然后|
|echo "ðïÂÃÂñ 下载失败。无法检索应用程序 ID
|退出|
|fi|
|echo "找到 $appCount 个应用程序
|# 创建并切换到备份目录|
|dirbackupDirdate F
|如果! mkdir "$目录";然后|
|echo "¡
|退出|
|fi|
|cd "$目录"|
|# 分别复制每个应用程序备份。不如单个 scp 命令优雅,但应该没问题。|
|完成计数=0|
|应用程序中的我
|做|
|appIdapps[$i
|数字 + 1
|echo num of $appCount] 正在下载 $appId
|if scp "$username@$serverIp:/home/master/applications/$appId/local_backups/backup.tgz"appId.t​​gz"; then|
|回声“€€€€€€€完成
|完成计数完成计数 + 1
|其他|
|echo "ðïÂÃÂà无法下载 $appId
|fi|
|完成|
|# 最终报告|
|if doneCount == 0)) ;然后|
|echo "¡
|elif doneCount == $appCount)) ;然后|
|echo "¡
|其他|
|echo "ðïÂäè 部分下载失败
|fi|