Fritz!Load…

… Forum für Software-Entwickler, Web-Designer und Benutzer.

Du bist nicht angemeldet.

Ankündigung

Liebe Fritz!Load-Nutzer,
wie man am Datum des letzten Beitrags erkennt, wird dieses Forum seit langem nicht mehr benutzt. Zwar entstehen keine zusätzliche Kosten, um dieses Forum zu halten, nichtsdestotrotz macht es keinen Sinn ein totes Forum im Internet zu präsentieren. Aus diesem Grund werden wir demnächst dieses Forum schließen. Falls sich dennoch ein paar hartgesottene Mitglieder finden, die dieses Forum immer noch am Leben halten wollen, sollen sich bitte im Forum „Allgemeine Diskussion“ melden.
(19.12.2023)

Hinweis: Falls sich die Forum-Adresse ändern sollte, so gehe bitte auf die Fritz!Load-FAQ-Seite in Sourceforge.net, um die aktuelle Forum-Adresse zu erfahren oder aktualisiere deine Fritz!Load-Version auf den neuesten Stand und nutze den Link „Forum“ unter „Allgemein“ in der Registerkarte „Hilfe“ direkt in Fritz!Load.

#1 am 14. Jul. 2015 um 15:58 Uhr

schlawiener
Mitglied
Registriert: am 22. Jan. 2015
Beiträge: 15

Manuelle Verschieben von Dateien per FritzLoad starten

Ich habe folgende Ausagangsituation

  • Fritzbox 7490 mit aktuellen Fritzload

  • Einstellungen / Download/Upload / Downloadverzeichnis: /var/media/ftp/HDD1/Temp

  • Entpacken / Einstellungen / Entpacken nach:  /var/media/ftp/HDD1/Downloads

Soweit funktioniert auch alles, nach dem Download von Archiven werden diese in den Ordner Downloads verschoben. Jetzt habe ich allerdings noch eine zweite HDD angeschlossen und würde gerne einige selten genutzte Daten aus dem Downloads-Verzeichnis auf die zweite HDD verschieben.

Wenn ich versuche per FRITZ.NAS GUI Dateien / Ordner per Ausschneiden / Einfügen zu verschieben bekomme ich eine Fehlermeldung: "Fehler beim Einfügen. Sie können keine Daten über Partitionsgrenzen hinweg verschieben."

Nun möchte ich aber auch nicht unnötigerweise mit meinem Laptop per WLAN die Daten per CIFS-Freigabe von A nach B verschieben, sondern dachte mir, es wäre sinnvoll wenn die Fritzbox das selbsständig machen würde, das geht mit Sicherheit schneller und es muss kein weiteres Gerät an sein.

Mein erster Gedanke war mich per Telnet mit der Box zu verbinden, aber da habe ich dann das Problem, dass vermutlich der Kopiervorgang abbricht, wenn die Netzwerkverbindung getrennt wird. Deshalb habe ich überlegt ob das ganze per Fritzload zu realisieren wäre. Dort habe ich ja unter Download-Optionen die NAS Funktionen und Downloadübertragung, aber so wie ich das sehe betrifft das nur neue Downloads oder hat jemand eine Idee wie ich das Verschieben händisch starte?

Abwesend

#2 am 15. Jul. 2015 um 08:06 Uhr

Fireball3
Mitglied
Registriert: am 27. Jun. 2012
Beiträge: 333

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Mein erster Gedanke war mich per Telnet mit der Box zu verbinden, aber da habe ich dann das Problem, dass vermutlich der Kopiervorgang abbricht, wenn die Netzwerkverbindung getrennt wird.

Richtig, der Vorgang wird abgebrochen wenn die Telnet-Session geschlossen wird.
Es gibt aber screen, damit würde es im Hintergrund weiter laufen.
Man müsste jedoch das binary mit ins FL aufnehmen, wenn es nicht schon dabei ist.


FB7490 - FritzLoad@USB

Abwesend

#3 am 15. Jul. 2015 um 16:29 Uhr

roadman17
Entwickler
Registriert: am 07. Jul. 2012
Beiträge: 357

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Das kleine Tool delay sollte von Hause aus bei deiner Fritzbox dabei sein und für deine Zwecke geeignet sein.

Abwesend

#4 am 16. Jul. 2015 um 08:16 Uhr

Fireball3
Mitglied
Registriert: am 27. Jun. 2012
Beiträge: 333

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Wie funktioniert das?
roadman, kannst Du dazu evtl. die manpage linken?
Danke


FB7490 - FritzLoad@USB

Abwesend

#5 am 16. Jul. 2015 um 13:21 Uhr

roadman17
Entwickler
Registriert: am 07. Jul. 2012
Beiträge: 357

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

http://www.wehavemorefun.de/fritzbox/Delay

delay -d 0 MYSCRIPT /bin/ash /pfad/zu/dem/skript.sh

Du kannst einen Befehl auch mit 0 Sekunden Verzögerung starten. Wahrscheinlich bietet sich ein Shell Script an.
Der Befehl wird dann auch weiter ausgeführt, wenn die Telnet Session beendet wird.

Der Beitrag wurde geändert von roadman17 (am 16. Jul. 2015 um 13:23 Uhr)

Abwesend

#6 am 17. Jul. 2015 um 10:18 Uhr

bkant
Mitglied
Registriert: am 02. Aug. 2012
Beiträge: 81

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Das Standardwerkzeug wäre doch wohl nohup, das müsste doch auch an Bord sein:

http://www.wehavemorefun.de/fritzbox/Nohup

Also beispielsweise:

nohup mv /var/media/ftp/HDD1/Quelle/* /var/media/ftp/HDD2/Ziel/ > movefiles.log 2> movefiles.err &

Die Umleitungen schreiben die normale Bildschirmausgabe in ein Logfile und eventuelle Fehlermeldungen in ein Fehlerlog; der Ampersand am Schluss lässt den Prozess im Hintergrund laufen (in der Telnet-Session kommt also nach Eingabe des Kommandos sofort der normale Prompt zurück, die Session kann beendet werden, der Prozess läuft weiter).


Fritz!Box 7362 SL - FRITZ!OS 06.30 - freetz-trunk - Fritz!Load@USB

Abwesend

#7 am 23. Jul. 2015 um 08:23 Uhr

schlawiener
Mitglied
Registriert: am 22. Jan. 2015
Beiträge: 15

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

nohub und delay klingt schon mal vielversprechend.

Weiß jemand ob es eine Möglickkeit gibt Scripte in die Weboberfläche einzubinden?

Ich stell mir das so vor:
Im Reiter Dateien markiere ich ein oder mehrere Dateien/Ordner und wähle dann einen Befehl aus der Dropdownbox (evt. sogar Umbennenen/Verschieben, der scheint eh nicht zu funktionieren)
Im Hintergrund wird dann ein Script (das ich noch schreiben müsste) mit den markierten Dateien/Ordnern als Parameter aufgerufen.

Abwesend

#8 am 23. Jul. 2015 um 11:29 Uhr

rolex0815
Entwickler
Registriert: am 29. Jun. 2012
Beiträge: 558

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Du willst nur Dateien aus dem FL Download Ordner woanders hin verschieben?

Der Verschieben Befehl funktioniert da gar nicht? (nutze das nie, sollte doch aber eigentlich genau das machen).

Abwesend

#9 am 24. Jul. 2015 um 10:51 Uhr

D3LL
Mitglied
Registriert: am 22. Apr. 2014
Beiträge: 28

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Unter dem Reiter Dateien hat die Funktion - Umbenennen/ verschieben : Ausführen, leider noch nie funktioniert...  sad


FRITZ!Box Fon WLAN 7390 (UI)
FRITZ!OS 06.20
FritzLoad@USB(FAT32)

Abwesend

#10 am 28. Jul. 2015 um 08:47 Uhr

schlawiener
Mitglied
Registriert: am 22. Jan. 2015
Beiträge: 15

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

@roles0815 So wie es aussieht funktioniert das nicht.

Laut TSB ein Problem bei der Umstellung der Webgui: Dateien umbenennen

Hier noch was dazu gefunden, auch der Wunsch von D3LL (im Prinzip genau das was ich möchte)
Wunsch: Möglichkeit zum Auslösen des Verschieben-Befehls
Dateibrowser (gui_ftp) - Fehler beim Umbenennen/Verschieben

Der Beitrag wurde geändert von schlawiener (am 28. Jul. 2015 um 08:48 Uhr)

Abwesend

#11 am 06. Aug. 2015 um 08:17 Uhr

schlawiener
Mitglied
Registriert: am 22. Jan. 2015
Beiträge: 15

Antw.: Manuelle Verschieben von Dateien per FritzLoad starten

Ok,

um das ursprüngliche Problem zu lösen (Umbennen nicht möglich), muss in der Datei cgi\gui_ftp.cgi die Zeile

<input type=submit name=doAction value="Ausführen" >

geändert werden in

<input type=submit name=doAction value="Ausführen" onclick="if(document.FritzLoad.action.value == 'Rename') { promptfilename(); }">

Dann habe ich noch ein paar weitere Änderungen vorgenommen, mit der ich in der Lage bin, mehre Dateien / Ordner zu markieren und diese im Hintergrund auf meine Backup-Festplatte zu verschieben.
Ich habe die Auswahlbox um einen Eintrag "Archivieren" erweitert.

<option value=Archive>Archivieren</option>

Dann eine Behandlung für die Action Archive hinzufügt

	elif [ "$Q_action" = Archive ];then
	
		echo "<pre class=msg>"
		
		if [ -z "$transferDir" ]; then
			echo "Zielverzeichnis (Einstellungen -> Downloadoptionen -> Zielverzeichnis (lokal eingehängt)) nicht konfiguriert."
		elif ! [ -d "$transferDir" ]; then
			echo "Zielverzeichnis $transferDir existiert nicht. Bitte konfigurieren unter (Einstellungen -> Downloadoptionen -> Zielverzeichnis (lokal eingehängt))"
		else
			sfiles=$(urldecode "$Q_sfile")
			echo "Archiviere nach $transferDir im Hintergrund:<br>"
			oldIFS=$IFS;export IFS=$N
			for sfile in $sfiles;do
				export IFS=$oldIFS
				sfile2=$(realpath "$sfile")
				if [ -f "$sfile2" ] || [ -d "$sfile2" ]; then
					info=$(du -hs "$sfile2")
					echo "* $info"
				else
					echo "Überspringe $sfile2 - Keine Datei oder Verzeichnis"
				fi
			done
			export IFS=$oldIFS
			nohup $pdir/cgi/archive_web.sh $transferDir "$sfiles" &
			echo "<br>Bitte warten und UnRAR-Logs überprüfen, falls Verschieben nicht erfolgreich."			
		fi
		
		echo "</pre>"

Aufgerufen wird die Datei "archive_web.sh" die erstellt werden muss

#!/bin/ash
# Copyright (c) 2015 SchlaWiener

pdir=$(pwd)/..
. $pdir/bin/BBox
. $pdir/config/fritzload.ini
. $pdir/lib/util_file.sh
. $pdir/lib/util_rar.sh

transferDir=$1
sfiles=$2

echo "ARCHIVE: $transferDir" >> $pdir/log/unrar.log
echo "$sfiles" >> $pdir/log/unrar.log

oldIFS=$IFS;export IFS=$N
for sfile in $sfiles;do
	export IFS=$oldIFS
	sfile2=$(realpath "$sfile")
	if [ -f "$sfile2" ] || [ -d "$sfile2" ]; then
		echo "$(date +'%d.%m.%Y %H:%M:%S') ARCHIVE: $sfile2" >> $pdir/log/unrar.log
		mv "$sfile2" "$transferDir/" >> $pdir/log/unrar.log 2>&1
		echo "$(date +'%d.%m.%Y %H:%M:%S') ARCHIVE: $sfile2 fertig (Ergebnis: $?)." >> $pdir/log/unrar.log
	else
		echo "$(date +'%d.%m.%Y %H:%M:%S') ARCHIVE: Überspringe $sfile2 - Keine Datei oder Verzeichnis" >> $pdir/log/unrar.log
	fi
done
export IFS=$oldIFS

echo "ARCHIVE ist fertig." >> $pdir/log/unrar.log
exit 0

Ich habe bei mir in den Einstellungen -> Downloadoptionen -> Zielverzeichnis (lokal eingehängt) auf meine zweite Platte gesetzt, da ich das nicht anderweitig nutze.
Das Verschieben wird im Hintergrund durchgeführt. Damit ich den Status kontrollieren kann, schreibe ich in die unrar.log, die kann ich ja in der GUI sehen.

Bei mir auf einer 7490 getestet und funktioniert super. Jetzt habe ich wieder Platz auf meiner Platte :-)

Hier die beiden angepassten Dateien als Pastbin:
gui_ftp.cgi
archive_web.sh

Abwesend

Fußzeile des Forums

Angetrieben von FluxBB