diff options
| author | Yuqian Yang <crupest@crupest.life> | 2025-03-30 22:27:19 +0800 | 
|---|---|---|
| committer | Yuqian Yang <crupest@crupest.life> | 2025-04-01 20:10:08 +0800 | 
| commit | d36115faff707181beff332aea3716610c7c6cb6 (patch) | |
| tree | 9addfcd730c2a3451e4a98b3e10f5add252d4996 /services/docker/auto-backup | |
| parent | 68c1405e07c91eb0307b5c0ec91cc6ca52d51b4a (diff) | |
| download | crupest-d36115faff707181beff332aea3716610c7c6cb6.tar.gz crupest-d36115faff707181beff332aea3716610c7c6cb6.tar.bz2 crupest-d36115faff707181beff332aea3716610c7c6cb6.zip | |
migrate(ali): to ali server.
Diffstat (limited to 'services/docker/auto-backup')
| -rw-r--r-- | services/docker/auto-backup/Dockerfile | 5 | ||||
| -rwxr-xr-x | services/docker/auto-backup/daemon.bash | 20 | ||||
| -rw-r--r-- | services/docker/auto-backup/rclone.conf | 4 | 
3 files changed, 15 insertions, 14 deletions
| diff --git a/services/docker/auto-backup/Dockerfile b/services/docker/auto-backup/Dockerfile index e376174..147be21 100644 --- a/services/docker/auto-backup/Dockerfile +++ b/services/docker/auto-backup/Dockerfile @@ -1,13 +1,12 @@  FROM debian  RUN apt-get update && apt-get install -y \ -    tini ca-certificates coreutils tar zstd \ +    tini ca-certificates coreutils tar zstd rclone \      && rm -rf /var/lib/apt/lists/*  ENV CRUPEST_AUTO_BACKUP_INIT_DELAY=  ENV CRUPEST_AUTO_BACKUP_INTERVAL=1d -ADD --chmod=755 https://github.com/tencentyun/coscli/releases/download/v1.0.3/coscli-v1.0.3-linux-amd64 /app/coscli -ADD daemon.bash /app/ +ADD daemon.bash rclone.conf /app/  VOLUME [ "/data" ] diff --git a/services/docker/auto-backup/daemon.bash b/services/docker/auto-backup/daemon.bash index ff670e3..da9f853 100755 --- a/services/docker/auto-backup/daemon.bash +++ b/services/docker/auto-backup/daemon.bash @@ -20,16 +20,17 @@ if [[ -z "$CRUPEST_AUTO_BACKUP_INTERVAL" ]]; then  fi  note "Checking secrets..." -[[ -n "$CRUPEST_AUTO_BACKUP_COS_ENDPOINT" ]] || die "COS endpoint not set!" -[[ -n "$CRUPEST_AUTO_BACKUP_COS_BUCKET" ]] || die "COS bucket not set!" -[[ -n "$CRUPEST_AUTO_BACKUP_COS_SECRET_ID" ]] || die "COS secret ID not set!" -[[ -n "$CRUPEST_AUTO_BACKUP_COS_SECRET_KEY" ]] || die "COS secret key not set!" +[[ -n "$RCLONE_S3_PROVIDER" ]] || die "S3 provider not set!" +[[ -n "$RCLONE_S3_ENDPOINT" ]] || die "S3 endpoint not set!" +[[ -n "$RCLONE_S3_ACCESS_KEY_ID" ]] || die "S3 AccessKey ID not set!" +[[ -n "$RCLONE_S3_SECRET_ACCESS_KEY" ]] || die "S3 AccessKey Secret not set!" +[[ -n "$CRUPEST_AUTO_BACKUP_S3_BUCKET" ]] || die "S3 bucket not set!"  success "Secrets check passed."  note "Checking tools..."  tar --version  zstd --version -/app/coscli --version +rclone --version  success "Tools check passed."  echo "Backup interval set to $CRUPEST_AUTO_BACKUP_INTERVAL..." @@ -57,13 +58,10 @@ function backup {    du -h "$tmp_file" | cut -f1 | xargs echo "Size of $tmp_file:"    des_file_name="$current_time.$backup_file_ext" -  echo "Upload $des_file_name to COS..." +  echo "Upload $des_file_name to S3..." -  /app/coscli --init-skip \ -    --secret-id "${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}" \ -    --secret-key "${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}" \ -    --endpoint "${CRUPEST_AUTO_BACKUP_COS_ENDPOINT}" \ -    cp "$tmp_file" "cos://${CRUPEST_AUTO_BACKUP_COS_BUCKET}/$des_file_name" +  rclone --config=/app/rclone.conf copyto \ +    "$tmp_file" "remote://${CRUPEST_AUTO_BACKUP_S3_BUCKET}/$des_file_name"    echo "Remove tmp file..."    rm "$tmp_file" diff --git a/services/docker/auto-backup/rclone.conf b/services/docker/auto-backup/rclone.conf new file mode 100644 index 0000000..bfcbbc3 --- /dev/null +++ b/services/docker/auto-backup/rclone.conf @@ -0,0 +1,4 @@ +[remote] +type = s3 +env_auth = true +no_head = true | 
