Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
inception
Beiträge: 36
Registriert: 16.04.2017 18:12:12

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von inception » 31.03.2018 22:56:20

ich probier es einfach mal aus :D

inception
Beiträge: 36
Registriert: 16.04.2017 18:12:12

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von inception » 04.04.2018 22:37:54

scheint nicht wirklich zu funktionieren

Code: Alles auswählen

/opt/sinusbot/sbcontrol.sh start && /opt/kunden/arvl/sbcontrol.sh start
Der erste Bot wird ausgeführt der zweite nicht

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von Meillo » 05.04.2018 12:46:06

inception hat geschrieben: ↑ zum Beitrag ↑
04.04.2018 22:37:54
scheint nicht wirklich zu funktionieren

Code: Alles auswählen

/opt/sinusbot/sbcontrol.sh start && /opt/kunden/arvl/sbcontrol.sh start
Der erste Bot wird ausgeführt der zweite nicht
Wenn dem so ist, dann ist der Return-Code des ersten Aufrufs ungleich Null (d.h. ein Fehlercode). Probiere:

Code: Alles auswählen

/opt/sinusbot/sbcontrol.sh start
echo "returncode1: $?"
/opt/kunden/arvl/sbcontrol.sh start
echo "returncode2: $?"
Use ed once in a while!

inception
Beiträge: 36
Registriert: 16.04.2017 18:12:12

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von inception » 10.04.2018 00:44:44

scheint immer noch nicht zu funktionieren

inception
Beiträge: 36
Registriert: 16.04.2017 18:12:12

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von inception » 10.04.2018 00:50:11

hab das script noch etwas verbessert

Code: Alles auswählen

#!/bin/sh
APPLICATION_NAME="Sinusbot"
SCREEN_NAME="arvlsb"
EXECUTING_USER="arvl"
DIR_NAME="/opt/kunden/arvl"
case "$1" in
start)
	if sudo -u ${EXECUTING_USER} screen -list | grep -q ${SCREEN_NAME}; then
		echo -e "Der ${APPLICATION_NAME} läuft bereits!";
	else
		echo -e "Der ${APPLICATION_NAME} wird gestartet..."			
		cd ${DIR_NAME}
		sudo -u ${EXECUTING_USER} screen -mdS ${SCREEN_NAME} ${DIR_NAME}/sinusbot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac &
		PID=$!
		ps -p ${PID} > /dev/null 2>&1
		if [ "$?" -ne "0" ]; then
			echo -e "Fehler beim von dem ${APPLICATION_NAME}!"
		fi
	fi
	;;
stop)
	if sudo -u ${EXECUTING_USER} screen -list | grep -q ${SCREEN_NAME}; then
		echo -e "Der ${APPLICATION_NAME} wird gestoppt..."
		sudo -u ${EXECUTING_USER} screen -S ${SCREEN_NAME} -X stuff '\003' > /dev/null 2>&1
		sudo -u ${EXECUTING_USER} screen -S ${SCREEN_NAME} -X stuff '\004' > /dev/null 2>&1	
	else
		echo -e "$Der {APPLICATION_NAME} läuft nicht!"
	fi
	;;
restart)
	if sudo -u ${EXECUTING_USER} screen -list | grep -q ${SCREEN_NAME}; then
		echo -e "Der ${APPLICATION_NAME} wird neugestartet! Bitte warte einige Sekunden......"
		sudo -u ${EXECUTING_USER} screen -S ${SCREEN_NAME} -X stuff '\003' > /dev/null 2>&1
		sudo -u ${EXECUTING_USER} screen -S ${SCREEN_NAME} -X stuff '\004' > /dev/null 2>&1
		sleep 3
		sudo -u ${EXECUTING_USER} screen -mdS ${SCREEN_NAME} ${DIR_NAME}/sinusbot -- /usr/bin/Xvfb :1 -screen 0 800x600x16 -ac &
		PID=$!
		ps -p ${PID} > /dev/null 2>&1
		if [ "$?" -ne "0" ]; then
			echo "Fehler beim von dem ${APPLICATION_NAME}!"
		fi
	else
		echo -e "$Der {APPLICATION_NAME} läuft nicht!"
	fi
	;;
status)
	if sudo -u ${EXECUTING_USER} screen -list | grep -q ${SCREEN_NAME}; then
		echo -e "Der ${APPLICATION_NAME} läuft!"
	else
		echo -e "Der ${APPLICATION_NAME} läuft nicht!"
	fi
	;;
help)
	case "$2" in
		start)
			echo -e "Benutze: \"${0} ${2}\" um den ${APPLICATION_NAME} zu starten."
		;;
		stop)
			echo -e "Benutze: \"${0} ${2}\" um den ${APPLICATION_NAME} zu stoppen."
		;;
		restart)
			echo -e "Benutze: \"${0} ${2}\" um den ${APPLICATION_NAME} neuzustarten"
		;;
		status)
			echo -e "Benutze: \"${0} ${2}\" um zu sehen ob der ${APPLICATION_NAME} online oder offline ist."
		;;
		*)
			echo -e "Benutze: \"${0} help {start|stop|status|console|cmd}\" für Hilfe"
	esac
	;;
*)
	echo -e "Benutzung: ${0} {start|stop|restart|status|help}"
	exit 1
esac
exit 0
und noch ein weiteres Script geschrieben welches das Problem ganz einfach löst. Ob ich nun den start command für ein neuen bot in die rc.local schreibe oder in mein script ist ja völlig egal.

Code: Alles auswählen

#!/bin/sh
case "$1" in
start)
	sudo /opt/kunden/arvl/sbcontrol.sh start
	sudo /opt/sinusbot/sbcontrol.sh start
	;;
stop)
	sudo /opt/kunden/arvl/sbcontrol.sh stop
	sudo /opt/sinusbot/sbcontrol.sh stop
	;;
esac
exit 0

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Benutzer Berechtigung geben Dateien eines anderen Benutzer zu löschen

Beitrag von eggy » 10.04.2018 06:39:55

Meillo hat geschrieben: ↑ zum Beitrag ↑
29.03.2018 06:52:59
Was ich inhaltlich noch nicht verstehe: Warum legt er diese Lock-Datei an? Die braucht man doch nur, wenn man verhindern will, das ein zweiter Bot parallel laeuft.
Genau das scheint der Grund zu sein: https://forum.sinusbot.com/threads/sinu ... agen.4918/

Leider bekomm ich auf der License Seite nur nen "Oops! We ran into some problems." daher keine Ahnung, ob das stimmt und unter welcher Lizenz der Code steht.

Antworten