diff --git a/Dockerfile.sidecar b/Dockerfile.sidecar index aea09983..4eac67be 100644 --- a/Dockerfile.sidecar +++ b/Dockerfile.sidecar @@ -43,7 +43,7 @@ RUN set -ex; \ ARG XTRABACKUP_PKG=percona-xtrabackup-24 RUN set -ex; \ apt-get update; \ - apt-get install -y --no-install-recommends gnupg2 wget lsb-release curl; \ + apt-get install -y --no-install-recommends gnupg2 wget lsb-release curl bc; \ wget -P /tmp --no-check-certificate https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb; \ dpkg -i /tmp/percona-release_latest.$(lsb_release -sc)_all.deb; \ apt-get update; \ diff --git a/backup/syncer/job.go b/backup/syncer/job.go index bb4516bc..b1e7e8a2 100644 --- a/backup/syncer/job.go +++ b/backup/syncer/job.go @@ -160,7 +160,7 @@ func (s *jobSyncer) ensurePodSpec(in corev1.PodSpec) corev1.PodSpec { s.backup.Namespace, s.backup.GetNameForJob(), backupToDir, DateTime) // Add the check DiskUsage // use expr because shell cannot compare float number - checkUsage := `[ $(expr $(df /backup|awk 'NR>1 {print $4}') \> $(du /backup |awk 'END {if (NR > 1) {print $1 /(NR-1)} else print 0}')) -eq '1' ] || { echo disk available may be too small; exit 1;};` + checkUsage := `[ $(echo "$(df /backup|awk 'NR>1 {print $4}') > $(du /backup |awk 'END {if (NR > 1) {print $1 /(NR-1)} else print 0}')"|bc) -eq '1' ] || { echo disk available may be too small; exit 1;};` in.Containers[0].Args = []string{ checkUsage + fmt.Sprintf("mkdir -p /backup/%s;"+ "curl --user $BACKUP_USER:$BACKUP_PASSWORD %s/download|xbstream -x -C /backup/%s; err1=${PIPESTATUS[0]};"+