@@ -144,4 +144,44 @@ if [ -z "$supported" ]; then
144
144
exit 1
145
145
fi
146
146
147
+ # Display dir requirements for repositories and mysql
148
+ backup_dir=${GHE_DATA_DIR}
149
+ available_space=$( df $backup_dir | awk ' END{print $4}' )
150
+ repo_disk_size=$( ghe-ssh " $host " sudo du -sh /data/user/repositories | awk ' {print $1}' )
151
+ mysql_disk_size=$( ghe-ssh " $host " sudo du -sh /data/user/mysql | awk ' {print $1}' )
152
+ # Convert the data size to kilobytes
153
+ case " $repo_disk_size " in
154
+ * T) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ T/ 000000000 / ') )) ;;
155
+ * G) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ G/ 000000 / ') )) ;;
156
+ * M) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ M/ 000 / ') )) ;;
157
+ * K) repo_disk_size=$(( $(echo "$repo_disk_size " | sed 's/ K// ') )) ;;
158
+ esac
159
+ if [[ $available_space -lt $repo_disk_size ]]; then
160
+ echo " There is not enough disk space for the backup"
161
+ exit 1
162
+ fi
163
+
164
+ # Check rsync, openssh & jq versions
165
+ rsync_version=$( rsync --version | grep ' version' | awk ' {print $3}' )
166
+ if awk " BEGIN {exit !($rsync_version < 2.6.4)}" & > /dev/null; then
167
+ echo " rsync version $rsync_version in backup-host does not meet minimum requirements."
168
+ echo " Please make sure you have the minimum required version of rsync installed"
169
+ exit 2
170
+ fi
171
+
172
+ ssh_version=$( ssh -V 2>&1 | awk ' {print $1}' | grep -oPm 1 ' [\d\.]+' | head -1)
173
+ if awk " BEGIN {exit !($ssh_version < 5.6)}" & > /dev/null; then
174
+ echo " openSSH version $ssh_version in backup-host does not meet minimum requirements."
175
+ echo " Please make sure the minimum required version of openSSH is installed"
176
+ exit 2
177
+ fi
178
+
179
+ jq_version=$( jq --version | awk -F\- ' {print $2}' )
180
+ if awk " BEGIN {exit !($jq_version < 1.5)}" & > /dev/null; then
181
+ echo " jq version $jq_version in backup-host does not meet minimum requirements."
182
+ echo " Please make sure you have the minimum required version of jq installed"
183
+ exit 2
184
+ fi
185
+
186
+
147
187
echo " Connect $hostname :$port OK (v$version )"
0 commit comments