ssh client

Archivierte Beiträge zu abgeschlossenen Themen.
00schneider
Beiträge: 41
Registriert: 26. September 2017, 14:48

ssh client

Beitrag von 00schneider »

Hallo,

habe leider über die Suche nichts gefunden (oder zu doof dazu) :oops:

Gibt es eine Möglichkeit, auf den Controller via ssh zu zugreifen?
Ich vermute mal ganz stark, dass auf dem Controller irgendwas *nix basiertes läuft.

Hätte für mich den Charme, dass ich von meinem Server aus ein automatisches Backup via cron/rsync/scp machen könnte.

smb, nfs, ... irgendwas?

Danke + Gruß
David
 

Alle Reaktionen


Benutzeravatar
Alex
Administrator
Beiträge: 10445
Registriert: 28. Mai 2014, 23:00

Re: ssh client

Beitrag von Alex »

Auf dem Controller läuft ..."nix" :)
Die FW ist komplett selbst entwickelt und hat keine Linux Basis oder ähnliches. Es gibt kein SSH, Telnet oder sonstige Funktionalität. Der kann nur was er können muss (und FTP).

>>Hätte für mich den Charme, dass ich von meinem Server aus ein automatisches Backup via cron/rsync/scp machen könnte
Kannst Du doch auch so, dazu muss der Controller ja nichts weiter können ... per FTP anmelden und den Ordner /usr sichern (oder alles).
Funktioniert mit lftp ganz gut, hatte ich selber mal getestet.
 

Alle Reaktionen


Benutzeravatar
Alex
Administrator
Beiträge: 10445
Registriert: 28. Mai 2014, 23:00

Re: ssh client

Beitrag von Alex »

Habs noch gefunden. Pfade müssen halt zur eigenen LFTP Installation passen
(das macht aber hier ein "vollständiges" Backup der Card - dauert entsprechend lange wenn im /history Ordner auch noch recht viele Dateien drin sind)

Bash Script:

Code: Alles auswählen

#!/bin/bash
cd
source /root/.lftp/controllerip.txt
killall lftp
echo "FTP backup running..."
echo "Backup running... " > /root/.lftp/status.log 
rm /root/.lftp/debug.log
mkdir -p /var/www/poolcontroller_backup/KW`date +%V`
touch /root/.lftp/backup.log
echo "Prüfe Dateien..." > /root/.lftp/backup.log
lftp $controllerip -u $username,$password<<!
debug -o /root/.lftp/debug.log
set net:timeout 5
set net:reconnect-interval-base 10
set net:reconnect-interval-max 20
set net:max-retries 2
mirror -c / /var/www/poolcontroller_backup/KW`date +%V` --log=/root/.lftp/backup.log
close -a
exit
!
echo "Changing permissions"
chmod -R 755 /var/www/poolcontroller_backup
bash /root/.lftp/check
echo "Backup done"
echo "Backup finished $(date)" > /root/.lftp/backup.log
Controllerip.txt hat folgenden Inhalt

Code: Alles auswählen

controllerip="10.9.130.10" 		#muss natürlich die IP zum Controller sein
controllerport="80"
username="dein username"
password="dein passwort"
Bash script "check" (kann man auch weglassen, dann die Zeile (bash /root/.lftp/check) oben im anderen Bash Script auskommentieren/rauslöschen

Code: Alles auswählen

#!/bin/bash
cd
var=$(grep 'Timeout - reconnecting' /root/.lftp/debug.log)
lenght=${#var}
var2=$(grep 'QUIT' /root/.lftp/debug.log)
lenght2=${#var2}
var3=$(grep 'Socket error' /root/.lftp/debug.log)
lenght3=${#var3}

prozess=$(pgrep lftp) 
plenght=${#prozess}


if [ "$lenght" -ne "0" ] || [ "$lenght3" -ne "0" ]; then
  if [ "$lenght2" -eq "0" ] && [ "$plenght" -ne "0" ]; then
    echo "Running, connection errors occured" > /root/.lftp/status.log 
  else 
    echo "Failed due to connection errors" > /root/.lftp/status.log
    echo "Backup finished $(date)" > /root/.lftp/backup.log
  fi

else 
  if [ "$lenght2" -eq "0" ] && [ "$plenght" -ne "0" ]; then
   echo "Running... " > /root/.lftp/status.log 
  else
   echo "Finished without errors" > /root/.lftp/status.log
 fi
fi

FILESIZE=$(stat -c%s /root/.lftp/backup.log)

if [[ $FILESIZE < 2 ]]; then
 echo "Backup finished $(date)" > /root/.lftp/backup.log
else
 exit
fi
exit 
 

Alle Reaktionen


00schneider
Beiträge: 41
Registriert: 26. September 2017, 14:48

Re: ssh client

Beitrag von 00schneider »

Alex hat geschrieben:Auf dem Controller läuft ..."nix" :)
Die FW ist komplett selbst entwickelt und hat keine Linux Basis oder ähnliches. Es gibt kein SSH, Telnet oder sonstige Funktionalität. Der kann nur was er können muss (und FTP).

:o :shock: Krass! Dann möchte ich nicht wissen, was da an Arbeit und Zeit reingeflossen ist. Ich hatte immer vermutet, dass da irgendwas a la Arduino oder RasPI umgefriemelt und in ein neues Gehäuse gebaut wurde. Das macht den Controller ja noch einzigartiger, als er eh schon ist. Da kann man eigentlich nicht oft genug danke für dieses tolle Produkt sagen.

Gibs zu, das ist streng geheime Alien-Technologie, die ihr in einem abgeschossenen Ufo gefunden habt ;)

Danke für die Auskunft und das Script. FTP ist natürlich für meine Zwecke auch absolut tauglich. (hab nur irgendwie immer eine Abneigung gegen FTP, weiß auch nicht warum)
 

Alle Reaktionen