Ordnerinhalt kopieren falls Netzwerkverbindung besteht

Status
Nicht offen für weitere Antworten.
N

new_userr

Gast
Hallo Leute!

Ich habe eine Frage, die nicht gerade mit Java zu tun hat. Deswegen auch in dieser Abteilung.

Ich hab eine Laptop und einen Sat Receiver auf dem ein Linux Betriebssystem läuft. Dank der Fähigkeit das Teil zu programmieren kann ich nun Filme aufnehmen und zu Hause gucken.

Ich würde gerne ein Script schreiben, was folgende Eigenschaften hat:

- Es soll geprüft werden, ob eine Verbindung zwischen Laptop und Sat Receiver besteht. Sprich: Sind beide an, steht eine Verbindung

- Wenn dies so ist, guckt der Sat Receiver in den Ordner für aufgenommene Filme und prüft auf Neue Filme

- Wenn das so ist, kopiert er die neuen Film im Hintergrund auf die Festplatte meines Laptops.
(- Wenn der Vorgang erfolgreich abgeschlossen ist, so löscht er die kopierten Filme)

- Wenn die beiden Fälle nicht eintreffen, so macht er nichts und das Script testen Intervall gesteuert später noch einmal. (cron?)

So, jetzt seid ihr dran ;)

Lg
 

madboy

Top Contributor
Ich hab eine Laptop und einen Sat Receiver auf dem ein Linux Betriebssystem läuft.
Läuft auf beiden Linux?

Sind beide an, steht eine Verbindung
Welcher Art ist die Verbindung? FTP, HTTP, NFS,...

- Wenn dies so ist, guckt der Sat Receiver in den Ordner für aufgenommene Filme und prüft auf Neue Filme

- Wenn das so ist, kopiert er die neuen Film im Hintergrund auf die Festplatte meines Laptops.
(- Wenn der Vorgang erfolgreich abgeschlossen ist, so löscht er die kopierten Filme)
bei NFS: rsync, cp, mv
bei FTP: FTP-Client, der mit Skripten umgehen kann
bei HTTP: wget, aria2c, ... allerdings wird's dann mit löschen schwieriger

- Wenn die beiden Fälle nicht eintreffen, so macht er nichts und das Script testen Intervall gesteuert später noch einmal. (cron?)
Jup, oder eine Endlosschleife, die erst prüft ob was getan werden soll und dann
Code:
sleep

So, jetzt seid ihr dran ;)
So, jetzt bist du dran ;-)
 
N

new_userr

Gast
Also der auf dem Laptop läuft ein Mac OS und die beiden Rechner können sich schonmal im Netzwerk sehen/pingen. Per FTP/SSH kann ich vom Laptop aus eine Verbindung zum SAT Receiver aufbauen. Auf meinem Laptop hab ich auch versucht einen NFS Ordner freizugeben und dann auf dem Receiver zu mounten allerdings mountet er nur den freigegebenen Order aber nicht den Inhalt komischerweise..

Gruß!
 

madboy

Top Contributor
FTP klingt doch gut (vorausgesetzt, Sicherheit ist nicht so wichtig, sonst rsync über SSH). Keine Ahnung, was unter Mac OS für FTP-Clients existieren aber da wird sich bestimmt einer finden lassen, der mit Skripten umgehen kann.

Würde das dann so angehen

Code:
while ( true )
do 
  ftp: get remoteDirectory/*avi
  ftp: rm remoteDirectory/*avi
  sleep 600
done

Je nach FTP-Client musst du nicht mal vorher prüfen ob eine Verbindung existiert, da der Aufruf einfach fehlschlägt.
Kritisch kann es natürlich werden, wenn bei "get" der Server nicht erreichbar ist, bei "rm" jedoch schon... daher vielleicht doch vorher prüfen, ob eine Verbindung besteht.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben