Die Einstellung von Cron-Jobs löschen Datei nach 24 Stunden
Las ich alle Fragen und war nicht in der Lage, Sie zu verstehen. Ich bin mit Plesk CPanel einstellen cron-job, wie es geraten wurde, von allen.
Möchte ich löschen Sie alle Dateien aus einem Ordner nach 24 Stunden. Davon ausgehen, dass ich, um es zu löschen, nachdem alle 2 Minuten (Damit ich überprüfen kann seine arbeiten oder nicht).
Habe ich zwei Möglichkeiten:
- Entweder eine PHP-Datei, die löscht alle Dateien nach 24 Stunden per cron-job
- Verwenden Sie die cron-job-Befehl `rm` um alle Dateien zu löschen
Ich beide Wege ausprobiert und war nicht in der Lage, um meine Aufgabe abgeschlossen.
Hier ist das Bild von cpanel geplanten Aufgabe:
http://i41.tinypic.com/2n0tsfs.png
Möchte ich löschen Dateien aus dem Ordner var/www/example.com/public/js/complied
. Alle Dateien in diesem complied
Ordner sollte gelöscht werden. Ich weiß nicht, was zu schreiben-Befehl textfield.
Sollte ich den folgenden Befehl verwenden?
rm /var/www/example.com/public/js/compiled/*.*
Oder sollte ich ausführen einer php-Datei?
env php -q/var/www/example.com/public/js/cron.php
Den Quellcode dieser Cron.php ist:
<?php
$dir = "compiled"; //directory name
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..')
continue;
unlink($dir.DIRECTORY_SEPARATOR.$item);
echo "All files deleted";
}
//rmdir($dir);
?>
Ich getestet habe diesen code, und es funktioniert gut.
Vielen Dank im Voraus.
InformationsquelleAutor user2290749 | 2013-05-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich diese in ein shell-Skript,...
ja, es wird funktionieren.
aber er versucht -mtime +7 zu löschen, Dateien nach 7 Tagen, wie kann ich es in jeder 2 Minuten coz ich weiß, für alle 24 Stunden sein sollte -mtime +1, aber was ist, wenn ich es testen möchte in zwei Minuten?
Der Befehl Dateien löschen, die älter als 7 Tage.. Sie können den cron-job jede minute ausführen oder wie oft Sie möchten, so dass jede minute, die Sie löschen Dateien, die älter sind als 7 Tage (oder 1 in deinem Fall). Wenn Sie möchten, ändern Sie den Befehl als auch für die Prüfung finden Sie in der man-Seite zu finden: linux.die.net/man/1/find
Es gibt ein-mmin option für den Befehl suchen.
InformationsquelleAutor MrCleanX
Wenn Sie Zugriff auf Ihren Server oder SSH, können Sie einfach fügen Sie es Ihrer crontab.
In Ihrem SSH-geben Sie einfach
sehen Sie eine Liste der cron-jobs auf, fügen Sie einfach diese Zeile code in die eigene cronjob:
Den code oben bedeutet, dass jedes 10 Uhr in der früh, die Sie entfernen Sie alle Dateien in dem Pfad, den Sie angeben.
Entnehmen Sie bitte diesem link für mehr Informationen zu Cron: http://en.wikipedia.org/wiki/Cron
InformationsquelleAutor JiNexus
war für mich zu löschen (bei einmal am Tag
wenn Sie möchten, entfernen Sie alles, was in diesem Ordner, aber lassen Sie die Ordner selbst:
InformationsquelleAutor Shuhad zaman
Optimieren MrCleanX " - Lösung ein bisschen, verwenden Sie
xargs
:Statt rm für jede Datei zu löschen, die
xargs
packs viele Dateien zusammen zu einer einzigen Aufrufrm
Den
-print0
und-0
Zeug ist, machen beidefind
undxargs
mit NULL-terminierte Zeichenfolgen, die ist notwendig, um Dateinamen mit Leerzeichen und andere interessante chars in Ihren Namen.-print0
, xargs kann nur scheitern mit einer kryptischen Fehlermeldungxargs: argument line too long
.InformationsquelleAutor mogul