From 2d16990ba54faea9df409f07bf9e7e4681d0eef9 Mon Sep 17 00:00:00 2001 From: Oleg Sheynin Date: Tue, 10 Jun 2025 10:20:39 -0400 Subject: [PATCH] backup added --- backup/backup_by_json.sh | 1 + backup/pull_backup.sh | 60 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 120000 backup/backup_by_json.sh create mode 100755 backup/pull_backup.sh diff --git a/backup/backup_by_json.sh b/backup/backup_by_json.sh new file mode 120000 index 0000000..c430686 --- /dev/null +++ b/backup/backup_by_json.sh @@ -0,0 +1 @@ +/works/repos/admin/storage_backup.sh \ No newline at end of file diff --git a/backup/pull_backup.sh b/backup/pull_backup.sh new file mode 100755 index 0000000..4a8bfd4 --- /dev/null +++ b/backup/pull_backup.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +### E x a m p l e +# -S cvtt@cloud23.cvtt.vpn:/works/docker/infisical/backup/ +# -T /backup/cloud23/infisical/ +# -e "--remove-source-files" + +usage() { + echo "Usage: $0 -S -T [-e ]" + exit 1 +} + +# ---------------- Default +AddRsyncArgs= + +# ---------------- cmdline +while getopts "S:T:e:" opt; do + case ${opt} in + S ) + Source=$OPTARG + ;; + T ) + TargetDir=$OPTARG + ;; + e ) + AddRsyncArgs=$OPTARG + ;; + \? ) + echo "Invalid option: -$OPTARG" >&2 + usage + ;; + : ) + echo "Option -$OPTARG requires an argument." >&2 + usage + ;; + esac +done +# ---------------- cmdline + +if [ "${Source}" == "" ] +then + usage +fi + +if [ "${TargetDir}" == "" ] +then + usage +fi + +Cmd="mkdir -p ${TargetDir}" +echo ${Cmd} && eval ${Cmd} || exit + +Cmd="rsync" +Cmd+=" -ahv" +Cmd+=" -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'" +Cmd+=" ${AddRsyncArgs}" +Cmd+=" ${Source}" +Cmd+=" ${TargetDir}" +echo ${Cmd} +eval ${Cmd}