Ordnerinhalt ohne Bashscript via ftp-Verbindung löschen möglich ?

Begonnen von TomLee, 10 Januar 2022, 14:53:23

Vorheriges Thema - Nächstes Thema

Otto123

es gibt -nv und -q und offenbar gibt wget alle Meldungen über Kanal 2 aus.
Wenn Du es nicht im normalen Log haben willst, schreib doch ein extra Log und binde das mit ein.
Mach ich mit meinem backup auf die NAS auch so.
Einfach Klammer um alles LOG=backupFhem.log
if [ -d "log" ];then LOG="log/$LOG";fi
{
dein Code
}>> $LOG 2>&1
oder eben jede Zeile extra umlenken.

defmod backupFhemlog FileLog ./log/backupFhem.log fakelog
attr backupFhemlog room backup
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Ja, verstehe, Danke.

Nach mal drüber schlafen und kurz drüber nachdenken über deinen Vorschlag jetzt, ist die Frage die sich mir stellt, ob man eine Rückmeldung im Fehlerfall von wget überhaupt braucht.

Die ffffffffffffff11.png wird ja immer zuerst gelöscht, wenn bei dem wget was schief laufen sollte, liefert convert ja auch einen Fehler.

Reicht doch eigentlich aus um in FHEM Rückmeldung zu erhalten das irgendwo was schief lief ?

Wernieman

Und auch bei wget kannst Du nach dem Fehlercode $? prüfen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

TomLee

ZitatUnd auch bei wget kannst Du nach dem Fehlercode $? prüfen

Wenn ich mit -q alles ausgeknipst habe, mein ich gestern Abend festgestellt zu haben, das dann auch kein Fehlercode ausgegeben wird, -nv muss ich mir erst mal anschauen, jetzt aber nicht, vermutlich erst heute Abend.

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Otto123

Fehlercode hast Du doch in #104 abgefragt. Der kommt mMn auch sauber. Egal ob Du die Textmeldung unterbunden hast oder nicht
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Nein .. Zwischen wget und Fehlercodespeicherung ist das convert ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

TomLee

#112
Zitat-q und Fehlercode sind völlig andere Dinge ...

Stimmt, Mist festgestellt gestern Abend.

Habs eben ausprobiert, hab zum Test einfach ne Zahl bei der IP weggenommen, also falsche IP angegeben und mit -q
wget -q -P /opt/fhem/www/scripts/epaper/tmp/ http://Thomas:XXX3X3XXX@192.168.188.6:8083/fhem/rss/ffffffffffffff11.png
wird der Fehlercode vier ausgegeben.
2023.01.31 15:51:48 4: wget

sieht jetzt also so aus:

#!/bin/bash

rm ./www/scripts/epaper/tmp/ffffffffffffff11.png
err=$?
if
    [ "$err" -ne "0" ]
then
    echo "$(date +"%Y.%m.%d %T") $err: rm"
fi

wget -q -P ./www/scripts/epaper/tmp/ http://Thomas:XXX3X3XXX@192.168.188.26:8083/fhem/rss/ffffffffffffff11.png
err=$?
if
    [ "$err" -ne "0" ]
then
    echo "$(date +"%Y.%m.%d %T") $err: wget"
fi

convert -rotate 90 ./www/scripts/epaper/tmp/ffffffffffffff11.png ./www/scripts/epaper/tmp/ffffffffffffff11.png
err=$?
if
    [ "$err" -ne "0" ]
then
    echo "$(date +"%Y.%m.%d %T") $err: convert"
fi

scp -p ./www/scripts/epaper/tmp/ffffffffffffff11.png user@ip:./epaper/tmp/ffffffffffffff11.png
err=$?
if
    [ "$err" -ne "0" ]
then
    echo "$(date +"%Y.%m.%d %T") $err: scp"
fi


Wenn jetzt noch einer was zu der absoluten Pfadangabe sagen könnte, wie und ob man den relativ angeben kann ? Hab schon alles mögliche probiert, ich raff es nicht oder es geht einfach nicht.
Ist das einfach ein Denkfehler das man den relativ angeben könnte ?
Das Skript wird in dem gleichen Ordner ausgeführt:

-rwxrwxr-- 1 fhem dialout   615 Jan 31 15:52 epap.sh
-rw-r--r-- 1 fhem dialout 10408 Jan 31 16:02 ffffffffffffff11.png

Otto123

Entweder {qx 'echo $PWD'} nur zum Test in der FHEM Kommandozeile ;), weil ich meine der User fhem hat nicht zwingend ein komplettes Environment.
Also ${PWD}/www/scripts/epaper/tmp/ oder einfach ./www/scripts/epaper/tmp/
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

#114
Da muss ich dich leider korrigieren  :P
so muss es angegeben werden
rm ${PWD}/ffffffffffffff11.png

Cool, thx.

Zitatoder einfach ./www/scripts/epaper/tmp/

geht bei mir nicht:
rm: das Entfernen von './www/scripts/epaper/tmp/ffffffffffffff11.png' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
2023.01.31 16:51:00 1: rm


edit: hab das letzte "fertige" Skript auf ${PWD} angepasst.

Otto123

naja ${PWD} liefert den aktuellen Pfad (ich weiß immer nicht ob es bei allen Systemen so ist)
./ ist auch der aktuelle Pfad.
Wundert mich, dass Du da stehst. Normal solltest Du im homedir von fhem stehen?

Egal, dafür, dass Du weißt wo Du stehst war der erste Befehl  :P
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Theater Theater Theater

ZitatWundert mich, dass Du da stehst. Normal solltest Du im homedir von fhem stehen?

Ja, ich habs gemerkt was du damit sagen wolltest und geb zu das ich nur im Terminal aus dem Ordner temp das Skript aufgerufen habe, aus FHEM muss das in dem Skript entweder dann so ${PWD}/www/scripts/epaper/tmp/ oder  ::) so ./www/scripts/epaper/tmp/ffffffffffffff11.png angegeben werden.

Ich passe das Skript oben später an.

TomLee

Hi,

hab wieder eine Frage die ich mir stelle, die für mich auch hier her passt.
Wie würdet Ihr in einem Bashskript eine Datei auf einen anderen Raspberry übertragen ?
Es gibt mehrere Wege und bevor ich mich jetzt ewig damit beschäftige, um am Ende vlt. irgendwann zu erfahren das es umständlich gelöst wurde, frag ich lieber gleich euch, welchen Ihr mir empfehlen würdet ?

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee