iAdd a simulate flag - drist - a remote deployment tool Err bitreich.org 70
hgit clone git://bitreich.org/drist/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/drist/ URL:git://bitreich.org/drist/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/drist/ bitreich.org 70
1Log /scm/drist/log.gph bitreich.org 70
1Files /scm/drist/files.gph bitreich.org 70
1Refs /scm/drist/refs.gph bitreich.org 70
1Tags /scm/drist/tag bitreich.org 70
1README /scm/drist/file/README.gph bitreich.org 70
1LICENSE /scm/drist/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 89768c14b72f90125d7e6803308458baf094aabc /scm/drist/commit/89768c14b72f90125d7e6803308458baf094aabc.gph bitreich.org 70
1parent c9735fd7d912dbca6e03c2725456d4eeb6d9487b /scm/drist/commit/c9735fd7d912dbca6e03c2725456d4eeb6d9487b.gph bitreich.org 70
hAuthor: Solene Rapenne <solene@perso.pw> URL:mailto:solene@perso.pw bitreich.org 70
iDate: Thu, 29 Nov 2018 18:24:39 +0100 Err bitreich.org 70
i Err bitreich.org 70
iAdd a simulate flag Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M drist | 42 +++++++++++++++++++++----------- Err bitreich.org 70
i M drist.1 | 8 ++++++++ Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 36 insertions(+), 14 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/drist b/drist /scm/drist/file/drist.gph bitreich.org 70
i@@ -6,8 +6,9 @@ usage() { Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i Err bitreich.org 70
i-while getopts se: arg; do Err bitreich.org 70
i+while getopts nse: arg; do Err bitreich.org 70
i case ${arg} in Err bitreich.org 70
i+ n) SIMULATE=1 ;; Err bitreich.org 70
i s) SUDO=1 ;; Err bitreich.org 70
i e) SUDO_BIN="${OPTARG}" ;; Err bitreich.org 70
i *) usage ;; Err bitreich.org 70
i@@ -32,7 +33,7 @@ fi Err bitreich.org 70
i if [ "$#" -ne 1 ]; then Err bitreich.org 70
i usage Err bitreich.org 70
i else Err bitreich.org 70
i- HOSTNAME=$(ssh "$1" "uname -n") Err bitreich.org 70
i+ HOSTNAME=$(ssh "$1" "${EXEC} uname -n") Err bitreich.org 70
i if [ "$?" -ne 0 ]; then Err bitreich.org 70
i echo "Error while ssh ${1}" Err bitreich.org 70
i exit 2 Err bitreich.org 70
i@@ -48,9 +49,12 @@ copy_files() { Err bitreich.org 70
i LIST=$(mktemp /tmp/drist-rsync.XXXXXXXXXX) Err bitreich.org 70
i if [ -f "$LIST" ] Err bitreich.org 70
i then Err bitreich.org 70
i- printf 'Copying files:\n' Err bitreich.org 70
i- find "${1}"/ -type f | cut -d '/' -f 2- | tee "${LIST}" Err bitreich.org 70
i- rsync --rsync-path="${EXEC} rsync" -lD --files-from="${LIST}" "${1}/" "${2}":/ Err bitreich.org 70
i+ printf 'Copying files from folder "%s":\n' "$1" Err bitreich.org 70
i+ find "${1}"/ -type f | cut -d '/' -f 2- | tee "${LIST}" | sed 's/^/ /' Err bitreich.org 70
i+ if [ "$SIMULATE" -ne 1 ] Err bitreich.org 70
i+ then Err bitreich.org 70
i+ rsync --rsync-path="${EXEC} rsync" -lD --files-from="${LIST}" "${1}/" "${2}":/ Err bitreich.org 70
i+ fi Err bitreich.org 70
i rm "$LIST" Err bitreich.org 70
i fi Err bitreich.org 70
i fi Err bitreich.org 70
i@@ -61,12 +65,15 @@ copy_files() { Err bitreich.org 70
i remote_script() { Err bitreich.org 70
i if [ -f "${1}" ] Err bitreich.org 70
i then Err bitreich.org 70
i- printf 'Executing script\n' Err bitreich.org 70
i- ssh "${2}" "DRIST=$(mktemp /tmp/drist.XXXXXXXXXXXX) && Err bitreich.org 70
i- cat - > \$DRIST && Err bitreich.org 70
i- chmod u+x \$DRIST && Err bitreich.org 70
i- ${EXEC} \$DRIST ; Err bitreich.org 70
i- rm \$DRIST" < "$1" Err bitreich.org 70
i+ printf 'Executing file "%s":\n' "$1" Err bitreich.org 70
i+ if [ "$SIMULATE" -ne 1 ] Err bitreich.org 70
i+ then Err bitreich.org 70
i+ ssh "${2}" "DRIST=$(mktemp /tmp/drist.XXXXXXXXXXXX) && Err bitreich.org 70
i+ cat - > \$DRIST && Err bitreich.org 70
i+ chmod u+x \$DRIST && Err bitreich.org 70
i+ ${EXEC} \$DRIST ; Err bitreich.org 70
i+ rm \$DRIST" < "$1" Err bitreich.org 70
i+ fi Err bitreich.org 70
i fi Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i@@ -79,10 +86,17 @@ delete_files() { Err bitreich.org 70
i LIST=$(mktemp /tmp/drist-rsync.XXXXXXXXXX) Err bitreich.org 70
i if [ -f "$LIST" ] Err bitreich.org 70
i then Err bitreich.org 70
i- printf 'Removing files:\n' Err bitreich.org 70
i+ printf 'Removing files from folder "%s":\n' "$1" Err bitreich.org 70
i find "$1" -type f | sed 's/"/\\&/' | \ Err bitreich.org 70
i- awk -v path="${1}" '{ printf "\"%s\" ",substr($0,length(path)+1)}' > "${LIST}" Err bitreich.org 70
i- test -s "$LIST" && ssh "$2" "${EXEC} rm -v $(cat $LIST)" Err bitreich.org 70
i+ awk -v path="${1}" '{ printf "\"%s\" ",substr($0,length(path)+1)}' | \ Err bitreich.org 70
i+ tee "${LIST}" | sed 's/^/ /' Err bitreich.org 70
i+ printf '\n' # add a new line Err bitreich.org 70
i+ Err bitreich.org 70
i+ if [ "$SIMULATE" -ne 1 ] Err bitreich.org 70
i+ then Err bitreich.org 70
i+ test -s "$LIST" && ssh "$2" "${EXEC} rm $(cat $LIST)" Err bitreich.org 70
i+ fi Err bitreich.org 70
i+ rm $LIST Err bitreich.org 70
i fi Err bitreich.org 70
i fi Err bitreich.org 70
i } Err bitreich.org 70
1diff --git a/drist.1 b/drist.1 /scm/drist/file/drist.1.gph bitreich.org 70
i@@ -6,9 +6,17 @@ Err bitreich.org 70
i .Nd dumb remote installer shell tool, a remote deployment tool Err bitreich.org 70
i .Sh SYNOPSIS Err bitreich.org 70
i .Nm Err bitreich.org 70
i+.Op Fl n Err bitreich.org 70
i .Op Fl s Op Fl e Ar sudo|doas Err bitreich.org 70
i .Ar server Err bitreich.org 70
i .Sh OPTIONS Err bitreich.org 70
i+.Op Fl n Err bitreich.org 70
i+to simulate. Err bitreich.org 70
i+Tells Err bitreich.org 70
i+.Nm Err bitreich.org 70
i+to show what will happens if it runs. Err bitreich.org 70
i+This will make a ssh connection to check the remote hostname. Err bitreich.org 70
i+ Err bitreich.org 70
i .Op Fl s Err bitreich.org 70
i use a program to execute a command as root on the remote server. Err bitreich.org 70
i Default is sudo. Err bitreich.org 70
.
Response:
text/plain