@@ -156,28 +156,22 @@ min_jq=""
156
156
. " $( dirname " ${BASH_SOURCE[0]} " ) /../share/github-backup-utils/ghe-rsync-size.sh"
157
157
158
158
# Display dir requirements for repositories and mysql
159
- available_space=$( df $GHE_DATA_DIR | awk ' END{print $4 }' )
159
+ available_space=$( df -B 1k $GHE_DATA_DIR | awk ' END{printf "%.0f", $4 * 1024 }' )
160
160
echo " Available space: $available_space " 1>&2
161
161
162
- repo_disk_size=$( ghe-ssh " $host " sudo du -sh /data/user/repositories | awk ' {print $1}' )
163
- # Convert the data size to kilobytes
164
- case " $repo_disk_size " in
165
- * T) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ T/ 000000000 / ') )) ;;
166
- * G) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ G/ 000000 / ') )) ;;
167
- * M) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ M/ 000 / ') )) ;;
168
- * K) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ K// ') )) ;;
169
- esac
170
162
repos_disk_size=$( transfer_size repositories /tmp)
171
163
pages_disk_size=$( transfer_size pages /tmp)
172
164
es_disk_size=$( transfer_size elasticsearch /tmp)
173
165
stor_disk_size=$( transfer_size storage /tmp)
174
166
minio_disk_size=$( transfer_size minio /tmp)
175
- min_disk_req=$(( $(echo "$repos_disk_size " | awk '{print $1 }') + $(echo "$pages_disk_size " | awk '{print $1 }') + $(echo "$es_disk_size " | awk '{print $1 }') + $(echo "$stor_disk_size " | awk '{print $1 }') + $(echo "$minio_disk_size " | awk '{print $1 }') ))
176
- echo " repositories = $repos_disk_size , pages: $pages_disk_size , elasticsearch: $es_disk_size , storage: $stor_disk_size , minio: $minio_disk_size " 1>&2
167
+ mysql_disk_size=$( transfer_size mysql /tmp)
168
+
169
+ min_disk_req=$(( $(echo "$repos_disk_size " | awk '{printf "% .0 f", $1 }') + $(echo "$pages_disk_size " | awk '{printf "% .0 f", $1 }') + $(echo "$es_disk_size " | awk '{printf "% .0 f", $1 }') + $(echo "$stor_disk_size " | awk '{printf "% .0 f", $1 }') + $(echo "$minio_disk_size " | awk '{printf "% .0 f", $1 }') + $(echo "$mysql_disk_size " | awk '{printf "% .0 f", $1 / 2 }') ))
170
+ echo " repositories = $repos_disk_size , pages: $pages_disk_size , elasticsearch: $es_disk_size , storage: $stor_disk_size , minio: $minio_disk_size , mysql: $mysql_disk_size " 1>&2
177
171
echo " min_disk_required for backup = $min_disk_req bytes" 1>&2
178
172
179
- if [[ $available_space -lt $repo_disk_size ]]; then
180
- echo " There is not enough disk space for the backup" 1>&2
173
+ if [[ $available_space -lt $min_disk_req ]]; then
174
+ echo " There is not enough disk space for the backup. Please allocate more space and continue. " 1>&2
181
175
exit 1
182
176
fi
183
177
0 commit comments