CronJobs - die Alternative

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@jahlives,

ich versteh deinen Beitrag nicht. Ich schreibe kein PHP, welches überall und immer läuft und ich setze immer voraus, dass JavaScript läuft und als Browser kommt auch nur das Allerneuste in Frage. Das ist mein ganz persönlicher Stil, schließlich gibt es ja keinen Auftraggeber, der seine Seiten im Web auch wieder finden will :D Wer das anders haben möchte, kann sich das sicherlich basteln.

Bislang sind hier auch noch keine Beschwerden eingegangen, dass JavaScript ein Problem wäre. Da ja auch der Disk Station Manager ein paar Mal den XMLHTTPRequest() sowie andere AJAX-Libs wie prototype verwendet, würde der ja auch nicht gehen, wenn JavaScript nicht an wäre.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@itari
Das war nicht böse gemeint! Damit wollte ich eigentlich nur sagen, dass wenn du auf 'reset' prüftst es sinvoller wäre auch im HTML Teil nur 'reset' zu übermitteln ;)

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
@itari
Das war nicht böse gemeint! Damit wollte ich eigentlich nur sagen, dass wenn du auf 'reset' prüftst es sinvoller wäre auch im HTML Teil nur 'reset' zu übermitteln ;)

Gruss

tobi

hi tobi,

ich hab das auch nicht als 'bös' aufgefasst; nur ich steh immer noch auf dem Schlauch ... ich prüfe das hidden-field 'action' auf 'reset' und setze das an besagter roter Stelle ... ich übermittle auch nur 'reset' in diesem hidden-field ... wobei reset nicht das HTML-reset ist, sondern das Löschen der log-file ...

Ich mach Fehler und ich steh auch zu meinen Fehlern, nur ich muss sie irgendwie erkennen und im Moment steh ich irgendwie auf dem Schlauch. Das Skript macht alles, was ich will und ich seh nicht, was du meinst.

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
ich prüfe das hidden-field 'action' auf 'reset' und setze das an besagter roter Stelle
Stimmt und dieser Wert wird auch übermittelt wenn JS aktiv ist. Wenn JS nicht aktiv ist wird der Wert aus dem value-Attribut übermittelt und der ist in deinem Form
Code:
[SIZE=1][COLOR=#ff0000]<input type="button" value="reset /var/log/cron.log" style="margin-top:6px" [/COLOR][/SIZE]
[SIZE=1][COLOR=#ff0000][SIZE=1][COLOR=red]onclick="document.getElementById('action').value='reset';submit()"/>[/COLOR][/SIZE][/COLOR][/SIZE]
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Stimmt und dieser Wert wird auch übermittelt wenn JS aktiv ist. Wenn JS nicht aktiv ist wird der Wert aus dem value-Attribut übermittelt und der ist in deinem Form
Code:
[SIZE=1][COLOR=#ff0000]<input type="button" value="reset /var/log/cron.log" style="margin-top:6px" [/COLOR][/SIZE]
[SIZE=1][COLOR=#ff0000][SIZE=1][COLOR=red]onclick="document.getElementById('action').value='reset';submit()"/>[/COLOR][/SIZE][/COLOR][/SIZE]

Hmm, hab ich gar noch nicht ausprobiert. Ich bin bislang davon ausgegangen, das bei einem Button der value-Content nur zum Beschriften geht. Dass Button-Input-Feld hat ja keinen Namen und ich hab bislang angenommen, dass input-Felder ohne name-Attribut auch nicht übermittelt und daher auch nicht von PHP ausgewertet werden können. Aber das teste ich irgendwann mal genau. Langer Rede kurzer Sinn, ohne JavaScript sollte eigentlich nichts funktionieren. Da das Ganze aber im Disk Station Manager als 3rd-party aufgerufen wird, und da der Disk Station Manager nur funktioniert mit JavaScript, kann nichts schief laufen. Und ich kann beruhig huete nacht schlafen ;)

itari
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Hmm, hab ich gar noch nicht ausprobiert. Ich bin bislang davon ausgegangen, das bei einem Button der value-Content nur zum Beschriften geht.
Zum Beschriften und es ist auch der Absende Wert des Buttons, sprich das was z.B. PHP mit
PHP:
echo $_POST['NameDesButtons'];
"sieht".
Dass Button-Input-Feld hat ja keinen Namen und ich hab bislang angenommen, dass input-Felder ohne name-Attribut auch nicht übermittelt und daher auch nicht von PHP ausgewertet werden können.
Upps habe ich gar ned gesehen :D Jop in diesem Fall werden die Werte nicht übertragen.
Da das Ganze aber im Disk Station Manager als 3rd-party aufgerufen wird, und da der Disk Station Manager nur funktioniert mit JavaScript, kann nichts schief laufen. Und ich kann beruhig huete nacht schlafen
Bis einer auf die Idee kommt die PHP Datei direkt aufzurufen... ;)

Gruss

tobi
 

kupferrafi

Benutzer
Mitglied seit
17. Mrz 2007
Beiträge
88
Punkte für Reaktionen
0
Punkte
6
cron.log

Hallo,
vorerst vielen Dank für CronJobs.
Damit bin ich komfortabel unabhängig von der automatischen Datensicherung der DS.
Die Integration ist mir auch gleich gelungen.
Nur weiß ich nicht, wie und wann cron.log geschrieben wird.
Ich verstehe die Logdatei als Log von crond.
Meine folgende Zeile wird auch gut abgearbeitet.
Rich (BBCode):
10	0	*	*	*	root	/usr/syno/bin/rsync --archive --delete -u -v --exclude="#recycle/" --exclude="@*/" --exclude="aquota*" /volume1/ /volumeUSB1/usbshare/LocalBackup

Nur ist cron.log immer leer.
Denke ich falsch? Wo liegt der Fehler?
Gruß
Rafael
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die Datei /var/log/cron.log wird angelegt und gefüllt, wenn man den crond wie folgt aufruft:

Rich (BBCode):
crond -l 8 -L /var/log/cron.log

Das ist eigentlich in dem Skript so drin. Das müsste man eventuell noch in der Datei /usr/syno/ect/rc.d/S04crond.sh nachtragen in der Zeile 7, damit auch das Starten des crond aus dem Disk Station Manager protokolliert:

Rich (BBCode):
CROND=/usr/sbin/crond -l 8 -L /var/log/cron.log

Sollte es dann immer noch nicht funktionieren, melde dich noch einmal.

itari
 

kupferrafi

Benutzer
Mitglied seit
17. Mrz 2007
Beiträge
88
Punkte für Reaktionen
0
Punkte
6
Hallo,
Die Datei /var/log/cron.log wird angelegt und gefüllt
- angelegt ist sie, gefüttert wird sie nicht

Datei /usr/syno/ect/rc.d/S04crond.sh nachtragen in der Zeile 7
- das Verzeichnis ect/rc.d ist bei mir nicht vorhanden.
Es wird (denke ich) weitergeleitet auf etc.default/rc.d
rc.d -> /usr/syno/etc.defaults/rc.d
Soll ich es anlegen?
Geht das überhaupt anzulegen, wenn da das obrige steht?

Nun ist die box beim Suchen (find -name ...) auch schon zwei mal abgestürzt.
Bestimmt, weil ich die defaultwerte geändert habe.
Na mal sehen, vielleicht ist heute Abend mehr Ruhe.

Gruß
Rafael
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
joa, Tippfehler meinerseits: /usr/syno/etc/rc.d/....
 

kupferrafi

Benutzer
Mitglied seit
17. Mrz 2007
Beiträge
88
Punkte für Reaktionen
0
Punkte
6
Hallo,

crond startet jetzt wieder nach Systemstart, cron.log füllt sich.
Nur gibt es beim php-script Probleme.
Das Schreiben in crontab funktioniert.
- start/stop von crond funktioniert nicht
- cron.log wird nicht ausgelesen, d.h. ich habe zwar viele Zeilen in der cron.log, doch sehe ich sie nicht auf der Weboberfläche.
Falls ich crond manuell stoppe (/usr/syno/etc/rc.d/S04crond.sh stop) und dann neue Zeilen in die crontab über die Weboberfläche von Cronjobs einfüge/speicher, müßte crond ja wieder gestartet werden. Über ps hab ich nichts gesehen.

Ich habe im Code der cronjobs.php die Zeilenumbrüche auf Unix geändert (M in vi entfernt).
Mit welchem Programm kannn ich einfach von DOS auf UNIX formatieren?
tr ist nicht integriert d2u auch nicht ;-(

Wie sieht das mit dem Eintrag "crond -l 8 -L /var/log/cron.log" aus?
Ist das nach crond - eine eins oder ein pipe (oder wie heißt das Teil)

Nach etlichen Stunden probieren weiß ich nicht mehr weiter. Unten hier mein Code.
Rich (BBCode):
<?php
if ($_REQUEST['action'] == 'reset') {$fd=fopen('/var/log/cron.log','w');fclose($fd);}
elseif ($_REQUEST['action'] == 'save') {
  $out='';
  for($r=1;$r<=$_REQUEST['rows'];++$r)
    if ($_REQUEST['r'.$r.'c0']!='') for($c=0;$c<7;++$c) $out.=$_REQUEST['r'.$r.'c'.$c].($c<6?chr(9):chr(10));
  file_put_contents('/etc/crontab', stripslashes($out));
  exec('killall crond;crond -l 8 -L /var/log/cron.log');
  }
$filearray=file('/etc/crontab');
$_REQUEST['action'] == '';
$l=isset($_REQUEST['lines'])?$_REQUEST['lines']:20;
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>cronjobs</title>
<style>body,input{font:12px Arial;margin-right:1px;margin-bottom:1px}h3{font-family:Arial}
body{background-color:#ddf}pre{font-size:10px;padding:2px;background-color:#eef}</style>
<script>
function mark(r) {
  var e=document.getElementsByName(r+'c0')[0];
  if (e.value.charAt(0)=='#')
    for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#444';
  else
    for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#090';
}
</script>
</head><body><h3>CronJobs</h3>
<form method="post" action="cronjobs.php">
<input type="hidden" id="action" name="action" value="">
<?php
$r=0;
foreach($filearray as $rec) {
  $r++; $c=0;$f=explode(chr(9),htmlspecialchars($rec));
  print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" '.($r==1?'readonly':'').' value="'.$f[0].'"/>';
  print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[1].'"/>';
  print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[2].'"/>';
  print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[3].'"/>';
  print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[4].'"/>';
  print '<input name="r'.$r.'c5" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[5].'"/>';
  print '<input name="r'.$r.'c6" type="text" size="40" '.($r==1?'readonly':'').' value="'.$f[6].'"/>';
  if ($r>1) {
    print '<script>mark("r'.$r.'")</script>';
?>
<input type="button" value="X" title="delete"
          onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
<input type="button" value="#" title="activate / deactivate"
          onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
          if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/>
<?php }
  print '<br/>';
  }
$rmax=2+$r++;
for($r;$r<=$rmax;$r++) {
  print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" value=""/>';
  print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" value=""/>';
  print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" value=""/>';
  print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" value=""/>';
  print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" value=""/>';
  print '<input name="r'.$r.'c5" type="text" size="7" value=""/>';
  print '<input name="r'.$r.'c6" type="text" size="40" value=""/>';
?>
<input type="button" value="X" title="delete"
          onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
<input type="button" value="#" title="activate / deactivate"
          onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
          if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/><br/>
<?php } ?>
<input type="hidden" name="rows" value="<?php print --$r ?>"/>
<input type="button" value="save /etc/crontab & restart crond" style="margin-top:6px"
onclick="document.getElementById('action').value='save';submit()"/>
<input type="button" value="re-read /etc/crontabs & /var/log/cron.log" style="margin-top:6px" onclick="submit()"/>
Lines: 
<input type="text" value="<?php print $l ?>" name="lines"
style="margin-bottom:-1px;height:18px;width:30px"/>
<input type="button" value="reset /var/log/cron.log" style="margin-top:6px"
onclick="document.getElementById('action').value='reset';submit()"/><br/>
</form><pre>
<?php
system('tail -'.$l.' /var/log/cron.log');
?>
</pre></body></html>
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Hallo,

crond startet jetzt wieder nach Systemstart, cron.log füllt sich.
Nur gibt es beim php-script Probleme.
Das Schreiben in crontab funktioniert.
- start/stop von crond funktioniert nicht
- cron.log wird nicht ausgelesen, d.h. ich habe zwar viele Zeilen in der cron.log, doch sehe ich sie nicht auf der Weboberfläche.
Falls ich crond manuell stoppe (/usr/syno/etc/rc.d/S04crond.sh stop) und dann neue Zeilen in die crontab über die Weboberfläche von Cronjobs einfüge/speicher, müßte crond ja wieder gestartet werden. Über ps hab ich nichts gesehen.

Ich habe im Code der cronjobs.php die Zeilenumbrüche auf Unix geändert (M in vi entfernt).
Mit welchem Programm kannn ich einfach von DOS auf UNIX formatieren?
tr ist nicht integriert d2u auch nicht ;-(

ich benutzte unter Windows den PSPad, aber auch notepad++ oder andere Editoren, die unterschiedliche Zeilenende verarbeiten gehen. Kannst aber auch meinen Web-Editor nehmen.

Wie sieht das mit dem Eintrag "crond -l 8 -L /var/log/cron.log" aus?
Ist das nach crond - eine eins oder ein pipe (oder wie heißt das Teil)

weder noch, ist ein kleines L

Nach etlichen Stunden probieren weiß ich nicht mehr weiter. Unten hier mein Code.
Rich (BBCode):
<?php
if ($_REQUEST['action'] == 'reset') {$fd=fopen('/var/log/cron.log','w');fclose($fd);}
elseif ($_REQUEST['action'] == 'save') {
  $out='';
  for($r=1;$r<=$_REQUEST['rows'];++$r)
    if ($_REQUEST['r'.$r.'c0']!='') for($c=0;$c<7;++$c) $out.=$_REQUEST['r'.$r.'c'.$c].($c<6?chr(9):chr(10));
  file_put_contents('/etc/crontab', stripslashes($out));
  exec('killall crond;crond -l 8 -L /var/log/cron.log');
  }
$filearray=file('/etc/crontab');
$_REQUEST['action'] == '';
$l=isset($_REQUEST['lines'])?$_REQUEST['lines']:20;
?>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>cronjobs</title>
<style>body,input{font:12px Arial;margin-right:1px;margin-bottom:1px}h3{font-family:Arial}
body{background-color:#ddf}pre{font-size:10px;padding:2px;background-color:#eef}</style>
<script>
function mark(r) {
  var e=document.getElementsByName(r+'c0')[0];
  if (e.value.charAt(0)=='#')
    for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#444';
  else
    for (var i=0;i<7;++i) document.getElementsByName(r+'c'+i)[0].style.color='#090';
}
</script>
</head><body><h3>CronJobs</h3>
<form method="post" action="cronjobs.php">
<input type="hidden" id="action" name="action" value="">
<?php
$r=0;
foreach($filearray as $rec) {
  $r++; $c=0;$f=explode(chr(9),htmlspecialchars($rec));
  print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" '.($r==1?'readonly':'').' value="'.$f[0].'"/>';
  print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[1].'"/>';
  print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[2].'"/>';
  print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[3].'"/>';
  print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[4].'"/>';
  print '<input name="r'.$r.'c5" type="text" size="7" '.($r==1?'readonly':'').' value="'.$f[5].'"/>';
  print '<input name="r'.$r.'c6" type="text" size="40" '.($r==1?'readonly':'').' value="'.$f[6].'"/>';
  if ($r>1) {
    print '<script>mark("r'.$r.'")</script>';
?>
<input type="button" value="X" title="delete"
          onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
<input type="button" value="#" title="activate / deactivate"
          onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
          if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/>
<?php }
  print '<br/>';
  }
$rmax=2+$r++;
for($r;$r<=$rmax;$r++) {
  print '<input title="*|0..59: 8 1,3,5 2-5 * */2" name="r'.$r.'c0" type="text" size="8" value=""/>';
  print '<input title="*|0..23: 8 1,3,5 2-5 * */2" name="r'.$r.'c1" type="text" size="7" value=""/>';
  print '<input title="*|1..31: 8 1,3,5 2-5 * */2" name="r'.$r.'c2" type="text" size="7" value=""/>';
  print '<input title="*|1..12: 8 1,3,5 2-5 * */2" name="r'.$r.'c3" type="text" size="7" value=""/>';
  print '<input title="*|0..7: so=0/7 sa=6" name="r'.$r.'c4" type="text" size="7" value=""/>';
  print '<input name="r'.$r.'c5" type="text" size="7" value=""/>';
  print '<input name="r'.$r.'c6" type="text" size="40" value=""/>';
?>
<input type="button" value="X" title="delete"
          onclick="for (var i=0;i<7;++i) document.getElementsByName('r<?php print $r ?>c'+i)[0].value=''"/>
<input type="button" value="#" title="activate / deactivate"
          onclick="var v=document.getElementsByName('r<?php print $r ?>c0')[0];
          if (v.value.charAt(0)!='#') v.value='#'+v.value;else v.value=v.value.substring(1); mark('r<?php print $r ?>')"/><br/>
<?php } ?>
<input type="hidden" name="rows" value="<?php print --$r ?>"/>
<input type="button" value="save /etc/crontab & restart crond" style="margin-top:6px"
onclick="document.getElementById('action').value='save';submit()"/>
<input type="button" value="re-read /etc/crontabs & /var/log/cron.log" style="margin-top:6px" onclick="submit()"/>
Lines: 
<input type="text" value="<?php print $l ?>" name="lines"
style="margin-bottom:-1px;height:18px;width:30px"/>
<input type="button" value="reset /var/log/cron.log" style="margin-top:6px"
onclick="document.getElementById('action').value='reset';submit()"/><br/>
</form><pre>
<?php
system('tail -'.$l.' /var/log/cron.log');
?>
</pre></body></html>

Nicht aufgeben, geht bestimmt gleich.

itari
 

Tuono

Benutzer
Mitglied seit
25. Aug 2008
Beiträge
26
Punkte für Reaktionen
3
Punkte
0
Also, das mit der Log Datei funktioniert bestens.

leider schreibt der cron die Einträge in die cron.log ohne Zeilenumbrüche.

Woran mag das liegen?

Danke im voraus.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Mit welchen Editor schaust dir die log-Datei an?

itari
 

Tuono

Benutzer
Mitglied seit
25. Aug 2008
Beiträge
26
Punkte für Reaktionen
3
Punkte
0
Mit dem notepad... allerdings zeigt er mir die Zeilenumbrüche im UltraEdit richtig an.

In der Webausgabe im DS zeigt er mir aber alles hintereinander, ohne Umbrüche.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Zeilenumbrüche, wie sie Linux macht, sind unterschiedlich zu denen, wie sie Windows macht. In der CronJobs-Liste müssten sie allerdings richtig angezeigt werden, zumindest werden sie das bei mir.

itari
 

Tuono

Benutzer
Mitglied seit
25. Aug 2008
Beiträge
26
Punkte für Reaktionen
3
Punkte
0
Hi Itari,

ich muß dazu sagen, das ich nicht dein Script verwende, sondern deine Arbeit und deine Idee als Basis genommen habe, ein eigenes zu schreiben, was ein bißchen mehr Spielerei hat. :) Ganz im Stile von Webmin.

Und nun habe ich auch mal versucht die Log-Funktion mit zu integrieren. Macht ja durchaus Sinn.

Aber danke für Deinen Hinweis, ich werde die Zeilenumbrüche jetzt mit PHP entsprechend vor der Ausgabe ändern.

Danke!
 

Anhänge

  • cronjob2.jpg
    cronjob2.jpg
    45,7 KB · Aufrufe: 371

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0

Tuono

Benutzer
Mitglied seit
25. Aug 2008
Beiträge
26
Punkte für Reaktionen
3
Punkte
0
Mache ich wenn die Nummer mal irgendwann fehlerfrei läuft.

Und bitte daran denken: Itari hat seine Skripte unter GPL3 gestellt.

Mein Script beruht lediglich auf der Idee von Itari, hat aber nicht einmal in Teilen etwas mit der Programmierung von Ihm zu tun. Es ist ein komplett neuer Ansatz. Aber Danke für den Hinweis. Ich weiß die Arbeit und das Engagement von Itari sehr zu schätzen!

Tuono
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wird man dein Skript irgendwo erwerben müssen, oder gibst du es noch irgendwann mal als Datei frei?

itari
 
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