Jump to content


Pike_Bishop

Member Since 21 Aug 2011
Offline Last Active 16 Nov 2019 20:22
*****

#1115772 script in background with hotkey and name !dvdbackup_to_dvd_complete.sh

Posted by Pike_Bishop on 20 October 2019 - 18:49

Hi,

 

first, what is the difference if i name a script dvdbackup_to_dvd_complete.sh or !dvdbackup_to_dvd_complete.sh ?

i ask this because i can't see a difference at the execution in the openpli-7.2rc on the vu ultimo 4k

 

as example i have here since years a script which can copy a dvd from a usb dvd-drive to the hdd as dvd structure (VIDEO_TS,AUDIO_TS)

it is named dvdbackup_to_dvd_complete.sh and i start it with a hotkey, it looks as following;

#!/bin/bash

## Variablen ##
BOXIP=http://localhost

DVDBACKUP_PACKAGE=dvdbackup
DVDBACKUP=/usr/bin/dvdbackup
NICE=/bin/nice
NICE_ARGS="-n 19"
WGET=/usr/bin/wget

DVD_ROM=/dev/sr0

HDD=/media/hdd
TARGETDIR=$HDD/movie/_Converted/video/dvdbackup
WORKDIR=$HDD/movie/_Converted/_temp
DVD_INFO=$WORKDIR/dvd_info.txt
TMP=/tmp
LOGFILE=$TMP/dvdbackup.log


# Konsole (Fenster im OSD am TV) schliessen damit man das bei Ausfuehrung
# direkt an der Box mit z.b: Hotkey nicht selbst zu tun braucht.
sleep 3
$WGET -q -O - $BOXIP/web/remotecontrol?command=352


# Generelles Logging.
##exec >$LOGFILE; exec 2>&1 (funktioniert nicht in der bash (OpenATV ab Version 4.2 hat bash an Board))
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>$LOGFILE 2>&1


# Falls das Script erneut gestartet wird da es zuvor aus welchem Grund auch
# immer abgebrochen ist, die eventuell verbliebenen Altlasten loeschen.
if [ -d $WORKDIR/*/ ] ; then
	$NICE $NICE_ARGS rm -rf $WORKDIR/*/
fi


# Job Start/Startzeit
STARTDATE="$(date +%a.%d.%b.%Y-%H:%M)" && echo -e "\n\nJOB START -> $STARTDATE\n\n" && sleep 7
$WGET -O - -q "$BOXIP/web/message?text=Starte%20DVD%20kopieren%20...%20->%20$STARTDATE&type=1&timeout=10" > /dev/null && sleep 5


# OSD Fehler Ausgabe.
osd_error_message() {
	sleep 11
	$WGET -O - -q "$BOXIP/web/message?text=ABBRUCH%20---%20(%20Details%20dazu%20in%20$LOGFILE%20)&type=3" > /dev/null
	echo ""
}


# Benoetigtes Paket (dvdbackup) nachinstallieren falls nicht vorhanden.
if [ ! -f $DVDBACKUP ] ; then
opkg update

		if [ "$?" = "0" ] ; then
			echo -e "\nPaketmanagement Aktualisierung erfolgreich.\n"
			opkg install $DVDBACKUP_PACKAGE

				if [ "$?" = "0" ] ; then
					echo -e "Installation Programm $DVDBACKUP_PACKAGE erfolgreich.\n"
				else
					osd_error_message
					echo "ABBRUCH !\nInstallation Programm $DVDBACKUP_PACKAGE fehlgeschlagen."
					echo -e "Bitte Programm $DVDBACKUP_PACKAGE manuell installieren,\nund das Script erneut starten.\n" && exit 1
				fi

		else
			osd_error_message
			echo -e "\nABBRUCH !\nPaketmanagement Aktualisierung fehlgeschlagen -> Netzwerkverbindung pruefen."
			echo "Oder das Programm $DVDBACKUP_PACKAGE manuell installieren,"
			echo -e "da dieses fehlt aber unbedingt erforderlich ist, damit das Script laeuft.\n" && exit 1
		fi

else
	echo -e "\nProgramm $DVDBACKUP_PACKAGE ist vorhanden.\n"
fi


# Benoetigte Verzeichnisse erstellen falls nicht vorhanden.
if [ ! -d $TARGETDIR -o ! -d $WORKDIR ] ; then
	echo ""
	for verz in $TARGETDIR $WORKDIR
	do
		mkdir -p $verz

		if [ "$?" = "0" ] ; then
			echo -e "\nVerzeichnis;\n$verz\nerfolgreich angelegt.\n"
		else
			osd_error_message
			echo -e "\nABBRUCH !\nVerzeichnis;\n$verz\nanlegen fehlgeschlagen."
			echo -e "Bitte manuell erstellen,\nund das Script erneut starten.\n" && exit 1
		fi
	done
fi


# Berechnung ob genuegend Speicherplatz auf der HDD vorhanden ist um die DVD zu kopieren.
# Benoetigt wird hier in etwa die DVD-Groesse + zur Sicherheit noch ca. 200 Mb mehr.
DVDSIZE="$(df -m $DVD_ROM | grep '/' | awk {'print $3'})"
DVDSIZE=`expr $DVDSIZE + 200`

HDDFREE="$(df -m $HDD |grep $HDD |awk '{print $4}')"

if [ "$DVDSIZE" -ge "$HDDFREE" ] ; then
	DIFFERENCE=`expr $DVDSIZE - $HDDFREE + 200`
	osd_error_message
	echo "ABBRUCH !\nZu wenig freier Plattenplatz."
	echo "Bitte zusaetzlich ungefaehr $DIFFERENCE MB Platz auf"
	echo -e "der Platte frei machen, und das Script erneut starten.\n" && exit 1
fi

if [ "$DVDSIZE" -lt "$HDDFREE" ] ; then
	echo -e "\nGenuegend freier Plattenplatz -> $HDDFREE MB <- vorhanden.\n"
fi


# DVD auslesen um den Titel fuer die fertige DVD zu bestimmen.
$DVDBACKUP -i $DVD_ROM -I > $DVD_INFO

DVDTITEL=$(cat $DVD_INFO | grep "DVD-Video information" | cut -d" " -f8- | tr -d [\"])

if [ -z "$DVDTITEL" ] ; then
	NAME="NO_LABEL"
	DATE="$(date +%a-%b-%Y-%H-%M)"
	DVDTITEL=$NAME-$DATE
	echo -e "\n\nKein DVD-Titel erkannt -> DVD-Titel = $DVDTITEL\n"
else
	DVDTITEL=${DVDTITEL//[ ]/_}
	DVDTITEL=${DVDTITEL//Ä/AE}
	DVDTITEL=${DVDTITEL//Ö/OE}
	DVDTITEL=${DVDTITEL//Ü/UE}
	DVDTITEL=${DVDTITEL//ä/ae}
	DVDTITEL=${DVDTITEL//ö/oe}
	DVDTITEL=${DVDTITEL//ü/ue}
	DVDTITEL=${DVDTITEL//ß/SS}
	echo -e "\n\nDVD-Titel = $DVDTITEL\n"
fi


# DVD komplett kopieren - DVD-Struktur (AUDIO_TS,VIDEO_TS) wird erstellt.
echo -e "\nKopiere DVD $DVDTITEL -> auf die Platte ..." 
$NICE $NICE_ARGS $DVDBACKUP -n $DVDTITEL -M -i $DVD_ROM -o $WORKDIR

if [ "$?" = "0" ] ; then
	echo -e "\nDVD $DVDTITEL wurde erfolgreich kopiert.\n"
else
	osd_error_message
	echo -e "\nABBRUCH !\nDVD $DVDTITEL kopieren fehlgeschlagen."
	echo -e "Sorry, hat leider nicht geklappt - eventuell mit einer anderen DVD erneut versuchen.\n" && exit 1
fi


# Manchmal gibt es DVDs die nur den VIDEO_TS bzw. video_ts Ordner beinhalten, fuer diesen
# Fall wird fuer beste Kompatibilitaet der fehlende AUDIO_TS bzw. audio_ts Ordner erstellt. 
if ( [ -d $WORKDIR/$DVDTITEL/VIDEO_TS ] && [ ! -d $WORKDIR/$DVDTITEL/AUDIO_TS ] ) ; then
	mkdir $WORKDIR/$DVDTITEL/AUDIO_TS

		if [ "$?" = "0" ] ; then
			echo -e "\nOrdner AUDIO_TS fuer beste DVD Kompatibilitaet wurde erstellt in:"
			echo -e "$WORKDIR/$DVDTITEL\n"
		fi

elif ( [ -d $WORKDIR/$DVDTITEL/video_ts ] && [ ! -d $WORKDIR/$DVDTITEL/audio_ts ] ) ; then
	mkdir $WORKDIR/$DVDTITEL/audio_ts

		if [ "$?" = "0" ] ; then
			echo -e "\nOrdner audio_ts fuer beste DVD Kompatibilitaet wurde erstellt in:"
			echo -e "$WORKDIR/$DVDTITEL\n"
		fi
fi


# Verschieben der DVD-Struktur (AUDIO_TS, VIDEO_TS) in das Zielverzeichnis (TARGETDIR).
echo -e "\nVerschiebe DVD $DVDTITEL nach ->\n$TARGETDIR ..."
$NICE $NICE_ARGS mv $WORKDIR/$DVDTITEL $TARGETDIR

if [ "$?" = "0" ] ; then
	echo -e "\nDVD $DVDTITEL wurde erfolgreich verschoben nach:\n$TARGETDIR\n"
else
	$WGET -O - -q "$BOXIP/web/message?text=DVD%20$DVDTITEL%20verschieben%20fehlgeschlagen%20-%20nicht%20tragisch%20,%20(%20Details%20dazu%20in%20$LOGFILE%20)&type=2&timeout=15" > /dev/null
	echo -e "\n! DVD $DVDTITEL verschieben fehlgeschlagen - nicht tragisch !"
	echo -e "Einfach manuell z.b: per EMC nach:\n$TARGETDIR verschieben,"
	echo "und zwar deshalb weil für den Fall eines Abbruchs des"
	echo "Scripts, bei einem erneuten Start des Scripts alles unter:"
	echo -e "$WORKDIR geloescht wird.\n"
fi


# Job Ende/Endzeit bei Erfolg bzw. bei Teilerfolg falls nur die DVD-Struktur (AUDIO_TS,VIDEO_TS) erstellt werden konnte.
ENDDATE="$(date +%a.%d.%b.%Y-%H:%M)" && echo -e "\nJOB ENDE -> $ENDDATE\n\n"
$WGET -O - -q "$BOXIP/web/message?text=DVD%20kopieren%20erfolgreich%20beendet%20.%20->%20$ENDDATE&type=1" > /dev/null

exit

 

earlier in older pli images (version 4) and in other images as oatv it works without problems, it starts and then it close first the window and then it runs further in the background, because i need no output only a message if it fails with a message that say have a look in the logfile or if it is ready.

this messages i become with wget commands.

 

but now in openpli-7.2rc it didn't work anymore is i wish.

in spite of i have the line as following at the begin of the script;

$WGET -q -O - $BOXIP/web/remotecontrol?command=352

to close the window, the window doesn't close and the script didn't run in the background as previous.

now the window persits open till the script is complete ready, and in this time you can't do something other with the box, that's not good.

 

i thought now if i rename the script to;

!dvdbackup_to_dvd_complete.sh

then it works correct (it close the window and run in background) but it's exact the same problem.

 

so for what is it good to rename a script to !blabla.sh instead of blabla.sh ?

 

 

regards

Pike




#1110520 OpenPLi Release Candidate 7.2

Posted by Pike_Bishop on 5 October 2019 - 17:41

Hi WanWizard,

 

do you remember (i should remind you today);

https://forums.openp...dpost&p=1109828

 

 

regards

Pike




#1108845 Auto.network

Posted by Pike_Bishop on 30 September 2019 - 00:17

Hi,

 

Nicht zu glauben das Script aus meinem letzten Post macht auch Zicken (erst gestern bemerkt) manchmal klappts dann wieder nicht.

Ich starte da ja den Samba per nix anderem als mit /etc/init.d/samba restart und da meckert das Ding doch tatsächlich ab und an die folgenden Zeilen im OriginalScript

also in der /etc/init.d/samba an;

Zeile 59 start-stop-daemon --stop --quiet --pidfile /var/run/samba/smbd.pid
Zeile 61 start-stop-daemon --stop --quiet --pidfile /var/run/samba/nmbd.pid
Zeile 63 start-stop-daemon --stop --quiet --pidfile /var/run/wsdd.pid
Zeile 73 start-stop-daemon --start --quiet --exec $smbd
Zeile 77 start-stop-daemon --start --quiet --exec $nmbd
Zeile 81 start-stop-daemon --start --quiet --exec $wsdd

Hab das Log leider nicht mehr aber war sowas in der Art ala "command not found"

Möglicherweise is das der selbe Grund warum der Samba da auch ohne Script also out of the box nicht startet.

Is aber wie gesagt ein OpenATV Problem und hat nur bedingt mit PLI zu tun und zwar in der Art das eben wenn der Samba

an der Box mit OpenATV drauf nicht startet gibts auch keine Freigabe an der zweiten Box mit PLI drauf, gehört somit eigentlich gar nicht hierher, egal ich habs nun so;

#!/bin/sh

STARTDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
BINARYPATH=/usr/sbin
SMBD=smbd # Samba Server-Daemon
NMBD=nmbd # NetBIOS Server-Daemon
WSDD=wsdd # Webservice_Discovery Host-Daemon
WAIT=3
TMP=/tmp
LOGFILE=$TMP/samba_deamon_start.log


# Generelles Logging
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>$LOGFILE 2>&1

sleep 12

check_samba_run() {
if ! pgrep -fl "$BINARYPATH/$SMBD" ; then
	error=1
elif ! pgrep -fl "$BINARYPATH/$NMBD" ; then
	error=1
elif ! pgrep -fl "$BINARYPATH/$WSDD" ; then
	error=1
else
	error=0
fi
}

try_samba_start() {
			$BINARYPATH/$SMBD && $BINARYPATH/$NMBD && $BINARYPATH/$WSDD

			if [ "$?" != "0" ] ; then
				echo -e "\nSamba starten fehlgeschlagen,\nnaechster Versuch in $WAIT Minuten ...\n"
				z=$((z+1))
			else
				check_samba_run

				if [ "$error" = "0" ] ; then
					echo -e "\nSamba erfogreich gestartet.\n" && exit 0
				else
					z=$((z+1))
				fi
			fi
}

echo -e "\n$STARTDATE\n"
# Mit der folgenden Zeile (auskommentiert) kann man nur checken welche Dienste laufen.
#pgrep -fl "$BINARYPATH/$SMBD|$BINARYPATH/$NMBD|$BINARYPATH/$WSDD"
check_samba_run

z=1
while [ "$error" = "1" ]
do
	if [ "$z" = "1" ] ; then
		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
		try_samba_start

	elif [ "$z" -gt "1" ] ; then

		if [ "$z" -gt "3" ] ; then
			echo -e "\nABBRUCH ! Samba starten fehlgeschlagen !\n" && exit 1
		fi

		sleep ${WAIT}m
		NEWDATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
		echo -e "\n$NEWDATE\n"
		echo -e "Samba-Daemon laeuft nicht.\nVersuch $z - Starte Samba ...\n"
		try_samba_start
	fi
done

echo -e "\nSamba-Daemon laeuft bereits.\n"

exit

Ich hoffe das passt nun so (bei bisher drei Tests also samba manuell gestoppt und dann das Script angeschmissen hats derweil immer geklappt).

 

 

Grüsse

Pike




#1105053 Auto.network

Posted by Pike_Bishop on 22 September 2019 - 00:51

Hi,

 

Das Script aus meinem Post zuvor läuft nicht (hat nichtmal wer bemerkt :) , verwendet wohl keiner), egal wie auch immer pgrep mit oder

für mehrere Prozesse gleichzeitig abfragen und mit ner negierten if Abfrage das haut echt nicht gut hin, deshalb

sieht das Script nun so aus;

#!/bin/sh

DATE="$(date +%a.%d.%b.%Y-%H:%M:%S)"
BINARYPATH=/usr/sbin
SMBD=smbd # Samba Server-Daemon
NMBD=nmbd # NetBIOS Server-Daemon
WSDD=wsdd # Webservice_Discovery Host-Daemon
INITSCRIPT=/etc/init.d/samba
TMP=/tmp
LOGFILE=$TMP/samba_deamon_start.log


# Generelles Logging
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>$LOGFILE 2>&1

sleep 12

echo -e "\n$DATE\n"
# Mit der folgenden Zeile (auskommentiert) kann man nur checken welche Dienste laufen.
#pgrep -fl "$BINARYPATH/$SMBD|$BINARYPATH/$NMBD|$BINARYPATH/$WSDD"
if ! pgrep -fl "$BINARYPATH/$SMBD" ; then
	error=1
elif ! pgrep -fl "$BINARYPATH/$NMBD" ; then
	error=1
elif ! pgrep -fl "$BINARYPATH/$WSDD" ; then
	error=1
fi

if [ "$error" = "1" ] ; then
	echo -e "Samba-Daemon laeuft nicht.\nStarte Samba ...\n"

		if ! $INITSCRIPT restart &> /dev/null ; then
			echo -e "\nABBRUCH ! Samba starten fehlgeschlagen !\n" && exit 1
		else
			echo -e "\nSamba erfogreich gestartet.\n"
		fi
else
	echo -e "\nSamba-Daemon laeuft bereits.\n"
fi

exit

Das sollte nun den gewünschten Job tun.

 

 

Grüsse

Pike




#1091734 File Commander OpenATV

Posted by Pike_Bishop on 15 August 2019 - 18:00

@mrvica,

 

thanks for that info (tips) here;

https://forums.openp...dpost&p=1091202

 

 

regards

Pike




#1089791 File Commander OpenATV

Posted by Pike_Bishop on 8 August 2019 - 18:11

Hi FRAP;

 

i think at this moment no, but you can download here;

https://github.com/E...n-FileCommander

the master package as .zip.

 

then extract it on your pc, and rename the directory in it with name plugin to FileCommander, and this directory FileCommander

you can copy on your box with ftp to;

/usr/lib/enigma2/python/Plugins/Extensions

 

at last you need a gui (enigma2) restart and then it works.

 

 

regards

Pike




#1081135 Plugins Übersicht

Posted by Pike_Bishop on 12 July 2019 - 18:14

 

Bei an anderen Images ist man da besser am Ball weil da will man den Nutzer ein fehlerfreies stabiles System bereitstellen.

 

Da wär ich nicht so sicher.




#1079235 Linking Usb Harddisk at Router to Box

Posted by Pike_Bishop on 8 July 2019 - 21:28

 

OpenPLi doesn't use autofs, so this isn't going to work.

but here this works with autofs, but you're right for a harddisc on router you didn't need autofs because the router is always on




#1079211 Linking Usb Harddisk at Router to Box

Posted by Pike_Bishop on 8 July 2019 - 21:03

i use a link from my harrddisc which is on my router (Fritzbox) and this works perfect.

First you need a share (here i use samba (cifs) with autofs it looks as following in the file /etc/auto.net;

FRITZNAS	-fstype=cifs,user=xxxx,pass=xxxxxxxx,rw,iocharset=utf8	://192.168.188.1/fritz.nas

(you can edit the /etc/auto.net with a linux compatible editor as notepad++)

that needs to configure a user and password on the router.

the share is then under /media/net with name "FRITZNAS"

 

my movies on this share i have under (complete path);

/media/autofs/FRITZNAS/TOSHIBA_USB3_1/movie

 

and this path i linked with command;

ln -s /media/autofs/FRITZNAS/TOSHIBA_USB3_1/movie /media/hdd/movie/___FritzNas_Videos

in the movie directory from my internal harddisc.

 

autofs isn't installed out of the box in pli, so you need it make also;

opkg update
opkg install autofs

maybe this post can help you, because you can see the setup which it needs.

 

and at last restart your box complete.

 

regards

Pike




#1078615 german translations for Sleeptimer

Posted by Pike_Bishop on 7 July 2019 - 20:49

hi,

 

here my corrected german translations for sleeptimer.

you can see here (in the picture);

https://forums.openp...dpost&p=1078599

as they looks.

 

Attached File  de.po.zip   77.49KB   3 downloads

 

 

regards

Pike




#891838 Was kann man beim 6.2-Image bedenkenlos auslagern?

Posted by Pike_Bishop on 26 May 2018 - 20:05

Das is jedenfalls mehr als genug Flash den du nun frei hast für nen problemlosen Betrieb.

 

Ich hatte an der betagten ET9000 früher oft nur so um die 7 - 8 Mb Flash frei und dennoch gabs da kein Problem, was auch immer auffiel ist wenn

man ein Image geflasht hat dann Plugins usw.. dazu installiert hat hatte ich sagen wir nur noch 7 Mb Flash frei, hab ich davon dann ein Fullbackup erstellt

und dieses eingespielt waren danach plötzlich so um die 11 Mb Flash frei, warum das so ist weiss ich aber nicht jedoch hatte ich das dauernd beobachten können

(wird wohl wegen irgendwelcher temporären Dateien so sein denke ich).

 

 

Grüsse

Biki3




#880066 Timer startet TV

Posted by Pike_Bishop on 1 May 2018 - 16:58

it looks good - thanks for reply

 

 

regards

Biki3




#852407 Neue Erweiterung/Plugin unter die Blaue Taste legen/entfernen ?

Posted by Pike_Bishop on 28 February 2018 - 23:05

 

Nachtrag mit Hotkey kommt dann nur Media Info alleine,geht so also nicht.

 

Das geht vermutlich schon, aber da müsstest du eben auch diese Erweiterungen (also die Liste die da von Haus auf der blauen Taste lag) nochmal extra zur blauen Taste hinzufügen

jedoch muss man die in hotkey erstmal finden denke aber die sollten da irgendwo mit dabei sein zum auswählen (is ja im openatv auch so möglich die haben ja auch hotkey).

Hab leider grade kein PLI drauf sonst würd ich es ja selber suchen.

 

 

Grüsse

Biki3




#851093 Anderen Spinner und vil anderes Bootlogo gesucht.

Posted by Pike_Bishop on 25 February 2018 - 22:32

Hi kalle1962,

 

 

Nur mal aus Neugier mit deiner Datei kann aber jetzt kein anderer etwas anfangen

 

Also es is so, das Script richtet sich nicht nach den devices, sondern nach den Mountpoints somit kriegt jeder ne Ausgabe damit der die selben Mountpoints wie du verwendet also;

 

/media/hdd

/media/hdd2

/media/usb

/media/usb2

 

Verwendet jemand davon nur z.b: /media/hdd und die anderen Mountpoints lauten bei ihm anders als deine weiteren Mountpoints bekommt er nur für die Platte (bzw. den Datenträger)

der nach /media/hdd gemountet ist die korrekte Ausgabe.

 

 

Grüsse

Biki3




#850940 Anderen Spinner und vil anderes Bootlogo gesucht.

Posted by Pike_Bishop on 25 February 2018 - 18:02

Hi kalle1962,

 

Ja sieht alles gut aus so kann mans nun lassen :)

 

 

Grüsse

Biki3