Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => 3rd party apps integratie in DSM => Topic gestart door: wizjos op 27 oktober 2008, 23:09:32
-
Hoi,
Ook weer geïmporteerd is deze:
(http://94.212.224.81/images/syno/automate.jpg)
Op zich niet allemaal zo wereldschokkend :mrgreen: ware het niet dat je hiermee ook een schijfcheck kunt uitvoeren (zelf nog niet getest!) en services kunt stoppen en herstarten... Ik heb er gauw een tweetal bijgemaakt voor het herstarten van Crond en voor SABnzbd+
application.cfg
text = Automate
description = Automatiseer je Syno
type = embedded
path = /phpsrc/automate/automate.php
automate.php:
<?php
putenv('HTTP_COOKIE='.$_SERVER['HTTP_COOKIE']);
putenv('REMOTE_ADDR='.$_SERVER['REMOTE_ADDR']);
$user=exec('/usr/syno/synoman/webman/modules/authenticate.cgi');
if($user != 'admin'){
header("HTTP/1.0 403 Forbidden");
exit;
}
if ($_REQUEST['action'] != '') {
if ($_REQUEST['action'] == 'print') exec('echo -e "TESTPAGE\f" >/dev/usb/lp0');
elseif ($_REQUEST['action'] == 'fsck0')
{ print '<pre>';passthru('fsck.ext3 -F -n /dev/md0');print '</pre>'; }
elseif ($_REQUEST['action'] == 'fsck2')
{ print '<pre>';passthru('fsck.ext3 -F -n /dev/md2');print '</pre>'; }
elseif ($_REQUEST['action'] == 'telnetd') exec('killall telnetd');
elseif ($_REQUEST['action'] == 'sysapache') exec('/usr/syno/etc.defaults/rc.d/S97apache-sys.sh restart');
elseif ($_REQUEST['action'] == 'userapache') exec('/usr/syno/etc.defaults/rc.d/S97apache-user.sh restart');
elseif ($_REQUEST['action'] == '3rdapache') exec('/opt/sbin/httpd -k restart');
elseif ($_REQUEST['action'] == 'mysql') exec('/usr/syno/etc.defaults/rc.d/S21mysql.sh restart');
elseif ($_REQUEST['action'] == 'crond') exec('/usr/syno/etc.defaults/rc.d/S04crond.sh restart');
elseif ($_REQUEST['action'] == 'SABnzbd') exec('/usr/syno/etc.defaults/rc.d/S99SABnzbd.sh restart');
else
exec('echo \\'.$_REQUEST['action'].' >/dev/ttyS1');
$_REQUEST['action'] = '';
}
?>
<html><head><title>automate</title>
<style>body,input{font:11px Verdana;}input{width:140px}fieldset{border:1px solid #bbb}</style>
<script>function $(e) {return document.getElementById(e);}</script>
</head><body>
<form id="f" name="f" action="automate.php">
<input type="hidden" id="action" name="action" value="" />
<fieldset><legend>Status LED</legend>
<input type="button" value="off" onclick="$('action').value='7';submit();">
<input type="button" value="green on" onclick="$('action').value='8';submit();">
<input type="button" value="green blink" onclick="$('action').value='9';submit();">
<input type="button" value="orange on" onclick="$('action').value=':';submit();">
<input type="button" value="orange blink" onclick="$('action').value=';';submit();">
</fieldset>
<fieldset><legend>Copy LED</legend>
<input type="button" value="off" onclick="$('action').value='B';submit();">
<input type="button" value="on" onclick="$('action').value='@';submit();">
<input type="button" value="blink" onclick="$('action').value='A';submit();">
</fieldset>
<fieldset><legend>Power LED</legend>
<input type="button" value="off" onclick="$('action').value='6';submit();">
<input type="button" value="on" onclick="$('action').value='4';submit();">
<input type="button" value="blink" onclick="$('action').value='5';submit();">
</fieldset>
<fieldset><legend>Beeper</legend>
<input type="button" value="short" onclick="$('action').value='2';submit();">
<input type="button" value="long" onclick="$('action').value='3';submit();">
</fieldset>
<fieldset><legend>Printer</legend>
<input type="button" value="print testpage" onclick="$('action').value='print';submit();">
</fieldset>
<fieldset><legend>File System Check</legend>
<input type="button" value="fsck /dev/md0" onclick="$('action').value='fsck0';submit();">
<input type="button" value="fsck /dev/md2" onclick="$('action').value='fsck2';submit();">
</fieldset>
<fieldset><legend>Daemons</legend>
<input type="button" value="kill telnetd" onclick="$('action').value='telnetd';submit();">
<input type="button" value="restart sys-apache" onclick="$('action').value='sysapache';submit();">
<input type="button" value="restart user-apache" onclick="$('action').value='userapache';submit();">
<input type="button" value="restart 3rd-apache" onclick="$('action').value='3rdapache';submit();">
<input type="button" value="restart MySql" onclick="$('action').value='mysql';submit();">
<input type="button" value="restart Crond" onclick="$('action').value='crond';submit();">
<input type="button" value="restart SABnzbd" onclick="$('action').value='SABnzbd';submit();">
</fieldset>
</form>
</body></html>
Vooral die lampjes vond ik geweldig (helaas is mijn CS niet zo'n kerstboom als sommige andere modellen) :(
Simpel doch doeltreffend, maar als je niet weet wat een knop precies doet, wees er dan voorzichtig mee :mrgreen:
Voor wie even een oog op de code slaat, deze is eigenlijk heel simpel van opbouw en zelf uit te breiden/aan te passen...
Succes!
Wizjos
-
Cool script. Ik heb een vraag.
Ik heb de 209+, maar ik heb 4 groene status lampjes. Met dit script krijg ik alleen de bovenste LED uit.
Hoe kan ik dat uitbreiden?
-
Maradona,
Dat zou ik zo niet weten... Als je goed naar het script kijkt zie je dat er telkens de opdracht 'echo teken >/dev/ttyS1' wordt gegeven. Enig experimenteren (geef de opdracht domweg op de prompt op) met andere tekens dan die in het script staan zou de truc denk ik moeten doen. Alleen welke dat zijn weet ik niet. Als je ze gevonden hebt wil ik graag van je horen welke tekens het zijn!
Succes,
Wizjos
-
Maradona,
Dat zou ik zo niet weten... Als je goed naar het script kijkt zie je dat er telkens de opdracht 'echo teken >/dev/ttyS1' wordt gegeven. Enig experimenteren (geef de opdracht domweg op de prompt op) met andere tekens dan die in het script staan zou de truc denk ik moeten doen. Alleen welke dat zijn weet ik niet. Als je ze gevonden hebt wil ik graag van je horen welke tekens het zijn!
Succes,
Wizjos
Ik heb gekeken wat bij de 4 groene lampjes staat.
Dat zijn:
-Status
-LAN
-Disk1
-Disk2
Heb geen idee wat voor code ik daarvoor zou moeten gebruiken. Hoe zou ik dat moeten kunnen zien?
-
Heb geen idee wat voor code ik daarvoor zou moeten gebruiken. Hoe zou ik dat moeten kunnen zien?
Dat schreef ik dus, ik weet het ook niet. Domweg proberen dus... Alhoewel ik me afvraag of de lampjes voor LAN en de disks wel uit kunnen....
Groet,
Wizjos
-
eh, sorry gurus maareh bij mij krijg ik als ik dat scriptje in mijn webfolder zet de melding:
Warning: exec() [function.exec]: PHP exec disable. in /volume1/web/automate.php on line 4
Warning: Cannot modify header information - headers already sent by (output started at /volume1/web/automate.php:4) in /volume1/web/automate.php on line 6
hoe vertel ik mijn ds dat ie wel exec calls mag doen ?
-
Motoindo,
Dan dien je de 3rd party apps handleiding (http://www.synology-forum.nl/viewtopic.php?f=83&t=2182) te doorworstelen :mrgreen:
Succes!
Wizjos
-
dank voor de link...ga ik doen !
Wordt tijd, want het lijkt er bijna op dat ik (http://www.synology-forum.nl/viewtopic.php?f=83&t=2182#msg9512) deze sectie in m'n eentje zit te vullen
Zou je graag helpen maar weet meer van win dan *nix, probeer wel mijn achterstand in te lopen.