Ohne Unterbefehl arbeitet kremote mit Dateien: interaktiv mit der Eingabeaufforderung kremote> oder als Skript. Die Befehle folgen WinSCP und psftp;
wer dort Skripte hat, kann sie meist weiterverwenden.
kremote [adresse] [/script=datei | -b datei] [/command "befehl" …] [/jsonlog=datei] [-batch] [-accepthostkey]
- Adresse:
sftp://benutzer@host:port/pfad, ebensoscp://,ftp://,ftpes://(FTP mit explizitem TLS),ftps://(implizit),dav://bzw.http://,davs://bzw.https://,s3://. Wie bei WinSCP darf der Benutzerteil;fingerprint=SHA256:…und;x-name=…tragen. Ohne Adresse verbindet erst einopen. /script=dateioder-b dateiführt ein Skript aus,/commanddie folgenden Befehle bis zum nächsten Argument, das mit/beginnt./jsonlog=dateischreibt je Befehl eine JSON-Zeile mit Zeit, Befehl, Argumenten, Ergebnis und Meldung; Kennwörter erscheinen als***.-batchfragt nie nach,-accepthostkeynimmt einen unbekannten Hostschlüssel an.
kremote sftp://anna@server.example/ /command "cd /srv/web" "ls" "exit"
kremote -batch /script=sicherung.txt /jsonlog=sicherung.json
Schreibweise
- Eine Zeile, ein Befehl. Zeilen mit
#sind Kommentare. - Argumente mit Leerzeichen in Anführungszeichen:
put "Bericht Mai.pdf". Zwei Anführungszeichen hintereinander ergeben eines. - Masken:
*,?und[…].
Sitzungen
| Befehl | Wirkung |
|---|---|
open adresse | verbinden; ohne :// und ohne @ gilt sftp://. Jedes weitere open öffnet eine zusätzliche Sitzung |
close [n] | die aktive bzw. die n-te Sitzung schliessen |
session [n] | Sitzungen auflisten (die aktive mit *) bzw. Sitzung n aktiv machen |
exit, bye, quit | alles schliessen und beenden |
Schalter für open:
-password=…,-privatekey=datei,-port=…,-timeout=…-hostkey=SHA256:…– genau diesen Hostschlüssel erwarten-certificate=…– genau dieses TLS-Zertifikat erwarten (FTPS, WebDAV)-passive=onbzw.off– FTP-Modus-jump=sitzung– über einen Sprunghost, auch für FTP, WebDAV und S3-compress– Kompression
Ordner
| Befehl | Wirkung |
|---|---|
pwd, lpwd | entfernten bzw. lokalen Ordner zeigen |
cd [ordner] | entfernt wechseln; ohne Angabe in den Heimatordner |
lcd [ordner] | lokal wechseln; ohne Angabe ins Benutzerprofil |
ls, dir [pfad] | entfernt auflisten |
lls [pfad] | lokal auflisten |
Übertragen
| Befehl | Wirkung |
|---|---|
get, mget entfernt… [lokal] | herunterladen |
reget … | herunterladen und fortsetzen |
put, mput lokal… [entfernt] | hochladen |
reput … | hochladen und fortsetzen |
Schalter für get und put:
-delete– die Quelle nach dem Übertragen löschen-resumebzw.-append– fortsetzen bzw. anhängen-neweronly– nur, wenn die Quelle neuer ist;-onlyexisting– nur vorhandene Ziele ersetzen;-latest– nur die neueste passende Datei-filemask=…– Dateimaske, etwa*.pdf;*.docx-transfer=binary,asciioderautomatic-speed=KiB/s– Tempo begrenzen-nopreservetime– die Änderungszeit nicht übernehmen (sonst wird sie übernommen)-preservepermissions,-permissions=644,-nopermissions– Rechte-resumesupport=on,offoder eine Grösse in KB – ab wann über eine Teildatei fortgesetzt wird
Dateien auf dem Server
| Befehl | Wirkung |
|---|---|
mkdir ordner…, rmdir ordner… | Ordner anlegen bzw. löschen |
rm, del, delete pfad… | löschen, auch Ordner samt Inhalt und mit Masken |
mv, rename, ren alt… neu | umbenennen oder verschieben |
cp quelle ziel | auf dem Server kopieren |
chmod oktal datei… | Rechte setzen |
ln [-hard] ziel verknüpfung | Verknüpfung anlegen (nur SFTP) |
stat pfad | Eigenschaften zeigen |
checksum [sha256] datei | Prüfsumme; auch sha1, md5, sha512 |
df [pfad] | freier Platz (nur SFTP) |
call befehl, ! befehl | Befehl auf dem Server im aktuellen Ordner; ein Rückgabewert ungleich 0 ist ein Fehler |
echo text | Text ausgeben |
help, ? | Hilfe |
Synchronisieren
synchronize local|remote|both [lokal] [entfernt] [schalter]
keepuptodate [lokal] [entfernt] [-delete]
synchronize local holt den Server auf den eigenen Rechner, remote bringt den eigenen Rechner auf den Server, both gleicht in beide Richtungen ab
(Kurzform sync). Schalter:
-delete– was auf der Quelle fehlt, auch im Ziel löschen-mirror– spiegeln; wirkt wie-delete-criteria=time(Vorgabe),size,either(Zeit oder Grösse) oderchecksum(Grösse und Inhalt) – woran Unterschiede erkannt werden-filemask=…– nur passende Dateien-preview– nur zeigen, was geschähe-preservepermissions– Rechte übernehmen
keepuptodate beobachtet einen lokalen Ordner und lädt jede Änderung sofort hoch, bis Strg+C.
Optionen
option name wert stellt das Verhalten ein:
| Option | Werte | Vorgabe |
|---|---|---|
echo | on, off – jeden Befehl vor dem Ausführen zeigen | off |
failonnomatch | on, off – eine Maske ohne Treffer ist ein Fehler | on |
transfer | binary, ascii, automatic | binary |
reconnecttime | off oder Sekunden – nach Abbrüchen neu verbinden | drei Versuche |
batch | abort bzw. on, continue, off – was bei Fehlern geschieht | in Skripten abort |
Rückgabewerte
In einem Skript bricht der erste Fehler ab, und kremote endet mit 1 (option batch abort). Mit option batch continue bzw. kremote psftp -be
läuft das Skript weiter und endet mit 0. Interaktiv ist das Ergebnis immer 0. Die übrigen Werte stehen unter
Befehlszeile kremote.
Beispiel: nächtliche Sicherung
# sicherung.txt – mit: kremote -batch /script=sicherung.txt
open sftp://sicherung@nas.example/ -privatekey=~/.ssh/sicherung -hostkey=SHA256:Qm9…
lcd /var/backups
synchronize remote . /daten/backups -criteria=checksum
put -neweronly bericht-*.pdf /daten/berichte/
exit
Ein fertiges Skript für eine gespeicherte Sitzung liefert die App im Menü Sitzung › Sitzungsadresse und Code.