Festplatten Nachtschaltung?

Status
Für weitere Antworten geschlossen.

sd_master

Benutzer
Mitglied seit
15. Apr 2007
Beiträge
135
Punkte für Reaktionen
0
Punkte
22
Hallo Zusammen,

ist es möglich, eine sogenannte Nachtschaltung zu aktivieren?
Damit meine ich, das die Platte(n) der DS tagsüber (Uhrzeit definierbar z.B. 08:00-23:00 Uhr) ständig an sind und nachts (Uhrzeit definierbar z.B. 23:00-08:00 Uhr) in den Ruhezustand gehen.
Ich glaube das ist nicht realisierbar, oder hat jemand einen Idee?
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Theoretisch könnte man bestimmt die Konfigurationsdatei mit einem Batch-Befehl austauschen. Das könnte auch zeitgesteuert über einen cronjob ablaufen. Allerdings müsste die DS zur Aktivierung der neuen Konfiguration mit Sicherheit neu gestartet werden. Auch das kann man zeitgesteuert über einen cronjob ablaufen lassen. Dann würde Deine DS allerdings zwei mal pro Tag rebooten...
 

sd_master

Benutzer
Mitglied seit
15. Apr 2007
Beiträge
135
Punkte für Reaktionen
0
Punkte
22
Hallo,

das dachte ich mir schon, dass man das nur so machen könnte.
Schön wäre es, wenn das ein Feature der Firmware werden würde.
Kann man das vielleicht an Synology als "Wunsch" für die nächsten Firmwareupdates weitergeben?

gruß sd_master
 

Chrunchy

Benutzer
Mitglied seit
05. Mrz 2007
Beiträge
470
Punkte für Reaktionen
0
Punkte
16
Es gibt auch eine Möglichkeit ohne Neustart.

1. erstelle dir 2 crontab-dateien. Eine für Tagbetrieb, eine für Nachtbetrieb

2. sorge in der Tag-Crontab dafür, dass ein Festplattenzugriff erfolgt, solange das Spindowninterval nicht erreicht ist.
z.B. cp /tmp/test.txt /tmp/test1.txt das alle 15 Minuten mittels cron
Spindown sollte dann auf 20 Minuten stehen. Die Datei /tmp/test.txt sollte erstellt werden.

3. erstelle dir 2 Dateien die den jeweiligen zustand aufrufen.
z.B. start_tag.sh
[INHALT]
#!/bin/sh
cp <PFAD>tag_crontab /etc/crontab
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start
[INHALT ENDE]

/usr/syno/etc/rc.d/S04crond.sh stop/start sorgt für den Neustart des Cron-Daemons. Das ist wichtig, damit alles in der neuen crontab auch abgearbeitet wird.

Die Datei start_nacht.sh sieht entsprechend ähnlich aus.
Beide Dateien müssen ausführbar sein.

4. in den jeweils neuen crontab-dateien erzeugst du zusätzlichen zu der gewünschten Uhrzeit den Aufruf der start_XXX.sh Datei.

Funktioniert bei mir seit Monaten so.
 

sd_master

Benutzer
Mitglied seit
15. Apr 2007
Beiträge
135
Punkte für Reaktionen
0
Punkte
22
Es gibt auch eine Möglichkeit ohne Neustart.

1. erstelle dir 2 crontab-dateien. Eine für Tagbetrieb, eine für Nachtbetrieb

2. sorge in der Tag-Crontab dafür, dass ein Festplattenzugriff erfolgt, solange das Spindowninterval nicht erreicht ist.
z.B. cp /tmp/test.txt /tmp/test1.txt das alle 15 Minuten mittels cron
Spindown sollte dann auf 20 Minuten stehen. Die Datei /tmp/test.txt sollte erstellt werden.

3. erstelle dir 2 Dateien die den jeweiligen zustand aufrufen.
z.B. start_tag.sh
[INHALT]
#!/bin/sh
cp <PFAD>tag_crontab /etc/crontab
/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start
[INHALT ENDE]

/usr/syno/etc/rc.d/S04crond.sh stop/start sorgt für den Neustart des Cron-Daemons. Das ist wichtig, damit alles in der neuen crontab auch abgearbeitet wird.

Die Datei start_nacht.sh sieht entsprechend ähnlich aus.
Beide Dateien müssen ausführbar sein.

4. in den jeweils neuen crontab-dateien erzeugst du zusätzlichen zu der gewünschten Uhrzeit den Aufruf der start_XXX.sh Datei.

Funktioniert bei mir seit Monaten so.

ok danke, werde ich bei Gelegenheit mal probieren!

gruß sd_master
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Prima Idee! Geht aber auch ohne eine zweite crontab. Man kann die Zeitsteuerung so einsellen, dass der Job innerhalb eines Zeitraums alle x Minuten ausgeführt wird.
Code:
*/15 8-23 * * * root job

Der Befehl "job" wird zwischen 8.00 und 23.00 alle 15 Minuten ausgeführt.

Trolli
 

sd_master

Benutzer
Mitglied seit
15. Apr 2007
Beiträge
135
Punkte für Reaktionen
0
Punkte
22
Hallo Zuammen,

ich habe jetzt noch mal ein paar (blöde) Fragen....

-wie und wo starte ich den Job und würde er aussehen?
-Ich brauche ja dafür eine Contab-Datei, inder die bzw. der auszuführende Befehl ist, richtig? (z.b. cp /tmp/test.txt /tmp/test1.txt -> wo ist denn der tmp-Ordner?)

ich hoffe, meine Fragen sind nich all zu blöd, denn ich blicke da nicht so richtig durch!!!

Danke und Gruß sd_master
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Du benötigst einen telnet Zugriff auf die DS.
  1. Die zu kopierende Datei erstellen. Diese kann natürlich in jedem Ordner liegen. Man muss dann nur den Kopierbefehl entsprechend anpassen.
  2. Mit "cd /etc" ins entsprechende Verzeichnis wechseln.
  3. Mit "vi crontab" kann man die crontab editieren.
  4. In vi mit "i" (insert) in den Bearbeiten-Modus wechseln und eine zweite Zeile einfügen:
    Code:
    */15   8-23   *   *   *   root   cp /tmp/test.txt /tmp/test1.txt
    Die Spalten müssen mit Tabulatoren getrennt sein!
  5. Mit 'Esc' den Bearbeiten-Modus von vi verlassen und dann ":wq" zum schreiben und verlassen eingeben.
  6. Fertig. (Werden die Änderungen an der crontab wirklich ohne Neustart übernommen?)
 
Zuletzt bearbeitet:

Chrunchy

Benutzer
Mitglied seit
05. Mrz 2007
Beiträge
470
Punkte für Reaktionen
0
Punkte
16
[*]Fertig. (Werden die Änderungen an der crontab wirklich ohne Neustart übernommen?)[/LIST]

Nein, deshalb habe ich in meinen Scripten immer den crond stop und start drin.

Wichtig ist noch zu wissen, dass bei einem Neustart Synology die crontab immer von irgendwoher mit einer default-Crontab ersetzt, deshalb habe ich mir eigene crontabs gebastelt, die ich je nach bedarf kopiere.

HTH
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Wichtig ist noch zu wissen, dass bei einem Neustart Synology die crontab immer von irgendwoher mit einer default-Crontab ersetzt, deshalb habe ich mir eigene crontabs gebastelt, die ich je nach bedarf kopiere.
Nein, das macht die DS nur, wenn die Syntax nicht 100% korrekt ist. Ich hab selber eine manuell editierte crontab, die sich nicht zurücksetzt...

Trolli
 

Chrunchy

Benutzer
Mitglied seit
05. Mrz 2007
Beiträge
470
Punkte für Reaktionen
0
Punkte
16
Nein, das macht die DS nur, wenn die Syntax nicht 100% korrekt ist. Ich hab selber eine manuell editierte crontab, die sich nicht zurücksetzt...

Trolli

Interessant, aber sollte dann nicht schon beim Neustart vom crond eine Fehlmeldung angezeigt werden?

Naja, egal, solange wir eine Lösung für derartig vorhandene Probleme finden.

Das mit dem Stundenfenster werde ich bei Gelegenheit mal austesten.

Mein Openvpn-Server verhindert nämlich den Ruhezustand. :-(
 

Trolli

Benutzer
Mitglied seit
12. Jul 2007
Beiträge
9.848
Punkte für Reaktionen
1
Punkte
0
Es gibt dazu auch einen Thread im englischen Forum: http://www.synology.com/enu/forum/viewtopic.php?t=2707

Ich habe übrigens selbst noch nicht ausprobiert, ob das mit dem Zeitfenster bei der DS auch wirklich funktioniert - das Busybox Linux ist ja oft ein wenig abgespeckt. Also einfach mal ausprobieren...

Trolli
 
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