Kopieren einer Datei alle 60 Sekunden bash
Ich habe ein thecus nas-server, und Sie scheinen, um einige knifflige Dinge zu Ihren Vorlagen, um Ihre Dateien, die derzeit auf der boot bin ich mit einem shell-Befehl zum kopieren einer Datei über ein anderes, so dass Es Stiefel mit meinem custom-template, aber nach einer gewissen Zeit (ich bin mir nicht sicher, was diese Zeit), es überschreibt es wieder mit dem original und meine benutzerdefinierte Vorlage gegangen ist.
Hier ist meine derzeitige boot-Skript:
#!/bin/bash
cp /customTemplates/login.tpl /www/img/templates/adm/login.tpl
Gibt es eine Möglichkeit, um die Ausführung der copy-Befehl, sagen alle 60 Sekunden? die login -.tpl-Datei ist nur 2kb, so würde ich nicht denken, könnte dies dazu führen, keine Probleme.
Gibt es etwas falsch mit, dies zu tun, auf diese Weise? Oder gibt es einen anderen trick, den ich verwenden könnte?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Antwort auf die Allgemeine Frage, zwei Möglichkeiten, dies zu tun, legen Sie es in eine Weile - /sleep-Schleife, oder verwenden Sie eine crontab
1) während/Schlaf
2) crontab (bevorzugt)
Laufen
crontab -e
und fügen Sie die folgende Zeile gibt esDies wird den Befehl ausführen jede minute jede Stunde jeden Tag jeden Monat jeden Tag der Woche. (ergo alle 60 Sekunden)
Aber, wie Aaron Digulla sagte es wäre besser dorthin zu bekommen, wo es zieht die config aus und Bearbeiten Sie es dort, eher dann überschreibt es alle 60 Sekunden.
cp
Befehl (was viel länger dauern kann...)Eine bessere Lösung wäre, herauszufinden, wo das NAS die ursprüngliche Datei aus.
Führen Sie diesen Befehl aus, um mögliche Kandidaten:
Können Sie auch verwenden, Muster:
"*login*"
Ich schlage vor, die Verwendung der Anführungszeichen, wenn Sie Muster verwenden, sonst könnte es entsprechen, die Dateien im lokalen Ordner und die Schale wird dann ersetzen Sie den Namen vor es übergibt das argument an
find
.Finden Sie heraus, wer ändert die Datei, verwenden Sie
auditctl
(siehe diese Frage).versuchen Sie folgende Lösung:
Ihrem Skript test.sh:
dann tun:
Wenn Sie sich für eine throw-away, eine Zeit, die Art von Lösung, die Sie verwenden können, die watch utility
läuft ./test.sh alle 60 Sekunden und spiegelt die Ausgabe auf stdout