lehrkraefte:blc:informatik:glf24:web:scp-workaround

This is an old revision of the document!


upload.bash

Aus irgendwelchen Gründen werden die Berechtigungen auf dem Server falsch gesetzt, wenn von Windows aus mit scp ganze Ordner kopiert werden.

Folgendes bash-script kopiert den aktuellen Ordner rekursiv (d.h. mit allen Unterordnern) und setzt danach die Berechtigungen korrekt.

Gehen Sie dazu wie folgt vor:

  • git-bash öffnen (oder Powershell geht auch).
  • geben Sie folgende Kommandos ein:
cd
mkdir -p bin
code bin/upload.bash

Kopieren Sie dann folgenden Inhalt in die Datei:

upload.bash
# Dieses bashscript kopiert den aktuellen Ordner
# rekursiv auf den Server.
# Optional kann ein Zielordner angegeben werden.
 
PFAD=$(pwd)
#echo Pfad ist ${PFAD}
DIR=$(basename "${PFAD}")
#echo Dir ist ${DIR}
 
# Entweder . (HOME) oder Argument als Zielordner
if [ -z $1 ]; then
    TARGET="."
else
    TARGET="$1"
fi
 
#echo Target ist ${TARGET}
 
if [ "." != "${TARGET}" ]; then
    echo "ensuring target ${TARGET} exists"
    echo ssh ofi mkdir -p "\"${TARGET}\""
    ssh ofi mkdir -p "\"${TARGET}\""
fi
 
echo "Copying..."
echo scp -r "${PFAD}" "ofi:${TARGET}"
scp -r "${PFAD}" "ofi:${TARGET}"
echo "Adjusting permissions..."
echo ssh ofi chmod -R u+rwX,go+rX,go-w "${TARGET}/${DIR}"
ssh ofi chmod -R u+rwX,go+rX,go-w "${TARGET}/${DIR}"
  • Speichern Sie dann die Datei (File → Save) oder einfacher CtrlShift.

Voraussetzung: Sie haben den Ordner mit dem Code der aktuellen Webseite in Visual Studio Code geöffnet.

  • Öffnen Sie ein Termin in Visual Studio Code
  • lehrkraefte/blc/informatik/glf24/web/scp-workaround.1743315693.txt.gz
  • Last modified: 2025/03/30 06:21
  • by Ivo Blöchliger