@@ -151,42 +151,54 @@ min_jq=""
151
151
# shellcheck source=share/github-backup-utils/requirements.txt
152
152
. " $( dirname " ${BASH_SOURCE[0]} " ) /../share/github-backup-utils/requirements.txt"
153
153
154
+ # source disk size file
155
+ . " $( dirname " ${BASH_SOURCE[0]} " ) /../share/github-backup-utils/ghe-rsync-size.sh"
156
+
154
157
# Display dir requirements for repositories and mysql
155
- backup_dir=${GHE_DATA_DIR}
156
- available_space=$( df $backup_dir | awk ' END{print $4}' )
158
+ available_space=$( df $GHE_DATA_DIR | awk ' END{print $4}' )
159
+ echo " Available space: $available_space " 1>&2
160
+
157
161
repo_disk_size=$( ghe-ssh " $host " sudo du -sh /data/user/repositories | awk ' {print $1}' )
158
- # mysql_disk_size=$(ghe-ssh "$host" sudo du -sh /data/user/mysql | awk '{print $1}')
159
162
# Convert the data size to kilobytes
160
163
case " $repo_disk_size " in
161
164
* T) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ T/ 000000000 / ') )) ;;
162
165
* G) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ G/ 000000 / ') )) ;;
163
166
* M) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ M/ 000 / ') )) ;;
164
167
* K) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ K// ') )) ;;
165
168
esac
169
+ repos_disk_size=$( transfer_size repositories /tmp)
170
+ pages_disk_size=$( transfer_size pages /tmp)
171
+ es_disk_size=$( transfer_size elasticsearch /tmp)
172
+ stor_disk_size=$( transfer_size storage /tmp)
173
+ minio_disk_size=$( transfer_size minio /tmp)
174
+ 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 }') ))
175
+ echo " repositories = $repos_disk_size , pages: $pages_disk_size , elasticsearch: $es_disk_size , storage: $stor_disk_size , minio: $minio_disk_size " 1>&2
176
+ echo " min_disk_required for backup = $min_disk_req bytes" 1>&2
177
+
166
178
if [[ $available_space -lt $repo_disk_size ]]; then
167
- echo " There is not enough disk space for the backup"
179
+ echo " There is not enough disk space for the backup" 1>&2
168
180
exit 1
169
181
fi
170
182
171
183
# Check rsync, openssh & jq versions
172
184
rsync_version=$( rsync --version | grep ' version' | awk ' {print $3}' )
173
185
if awk " BEGIN {exit !($rsync_version < $min_rsync )}" & > /dev/null; then
174
- echo " rsync version $rsync_version in backup-host does not meet minimum requirements."
175
- echo " Please make sure you have the minimum required version of rsync: $min_rsync installed"
186
+ echo " rsync version $rsync_version in backup-host does not meet minimum requirements." 1>&2
187
+ echo " Please make sure you have the minimum required version of rsync: $min_rsync installed" 1>&2
176
188
exit 1
177
189
fi
178
190
179
191
ssh_version=$( ssh -V 2>&1 | awk ' {print $1}' | grep -oPm 1 ' [\d\.]+' | head -1)
180
192
if awk " BEGIN {exit !($ssh_version < $min_openssh )}" & > /dev/null; then
181
- echo " openSSH version $ssh_version in backup-host does not meet minimum requirements."
182
- echo " Please make sure the minimum required version of openSSH: $min_openssh is installed"
193
+ echo " openSSH version $ssh_version in backup-host does not meet minimum requirements." 1>&2
194
+ echo " Please make sure the minimum required version of openSSH: $min_openssh is installed" 1>&2
183
195
exit 1
184
196
fi
185
197
186
198
jq_version=$( jq --version | awk -F\- ' {print $2}' )
187
199
if awk " BEGIN {exit !($jq_version < $min_jq )}" & > /dev/null; then
188
- echo " jq version $jq_version in backup-host does not meet minimum requirements."
189
- echo " Please make sure you have the minimum required version of jq: $min_jq installed"
200
+ echo " jq version $jq_version in backup-host does not meet minimum requirements." 1>&2
201
+ echo " Please make sure you have the minimum required version of jq: $min_jq installed" 1>&2
190
202
exit 1
191
203
fi
192
204
0 commit comments