Cloud Station Wie frage ich den Status von CloudSync ab? (Teminal/Bash)

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

rumknapser

Benutzer
Registriert
02. Mai 2013
Beiträge
329
Reaktionspunkte
6
Punkte
24
Hallo,

weiss jmd. wie ich den momentanen Status des CloudSync-Dienstes abfragen kann?
Ich bin interessiert daran, in einem Bash-Script abzufragen, ob er läuft, oder nicht. (nicht, ob er Synct, nur, ob er gestartet ist)

Der herkömmliche Weg will nicht:
Rich (BBCode):
> /var/packages/CloudSync/scripts/start-stop-status
/var/packages/CloudSync/scripts/start-stop-status: exit: line 72: Illegal number: -1
> /var/packages/CloudSync/scripts/start-stop-status status
/var/packages/CloudSync/scripts/start-stop-status: line 72: /var/packages//target/bin/cloud-sync-starter: not found

Habe dann etwas in dem Script rumgestöbert und eine Executable gefunden, doch damit wird mir leider auch nur ausgegeben, welche Dienste aktiv sind, allerdings unabhängig, ob das Paket gestartet ist oder nicht.
Rich (BBCode):
> /var/packages/CloudSync/target/bin/cloud-sync-starter --collect

Beim Versuch über die Diagnose kommt das:
Rich (BBCode):
> /var/packages/CloudSync/target/bin/cloud-sync-starter --diagnose

zip error: Invalid command arguments (cannot write zip file to terminal)

Ergo stehe ich jetzt auf dem Schlauch.

Ich möchte gerne via Shell-Script etwas nur ausführen lassen, wenn der Dienst nicht gestartet ist.
Ich könnte ihn natürlich in meinem Script stoppen, aber das ist unschön und steht nicht zur Debatte :-)

Weiss jmd. Rat?
 
Es gibt vermutlich elegantere Ansätze, aber Du könntest einmal in /var/lock schauen, ob dort ein lock-Datei angelegt ist, wenn der Dienst läuft. Wenn nicht, könntest Du mit ps | grep <Dienstname> testen, ob <Dienstname> läuft.
 
Dank Dir,
an ps hatte ich auch schon gedacht, allerdings wird mir da auch immer auch meine Abfrage mit angezeigt, so das mein Script den Dienst immer gestartet findet ;-/

Rich (BBCode):
 ps w|grep Cloud
 1214 root      204m S    /var/packages/CloudSync/target/sbin/syno-cloud-syncd /volume1/@cloudsync/config/daemon.conf
 2617 root      1760 R    grep Cloud

In /var/lock liegt leider nichts was mir hilft. Hab reingeguckt, wenn CS gestartet und gestoppt ist. Beides Mal gleicher Inhalt.
 
In dem Fall sollte
Rich (BBCode):
ps | grep Cloud | wc -l
2 liefern, wenn der Prozess läuft, und 1, wenn er nicht läuft.
 
Oh, das war ja einfach :-)

Der Code für meine Funktion schaut so aus:

Rich (BBCode):
isCSrunning () { 
if [ `ps | grep syno-cloud-syncd | wc -l` == 2 ] ; then
	echo CloudSync is running. Stop it, before mounting, we don\'t want funny things to happen...
exit
fi
}

Vielen Dank!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat