it-swarm.com.de

Löschen Sie den Speichercache mit Crontab

Ich versuche, den Speicher-Cache mit cron zu leeren.

Cron-Datei:

*/2 * * * *  ~/clear_mem.sh

clear_mem.sh:

#!/bin/sh
Sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"
touch f

Die Datei f wird alle zwei Minuten erstellt. Aber die Erinnerung wird nicht gelöscht. Wenn ich das Skript von Hand aufrufe, ist alles in Ordnung. Warum?

2
Long Smith

Da cron Befehle nicht interaktiv ausführt, kann sich Sudo nicht authentifizieren.

Bei Befehlen, die root-Berechtigungen erfordern, sollten Sie die crontab von root (d. H. _Sudo crontab -e_ anstelle von plain _crontab -e_) verwenden und dann die Verwendung von Sudo in Ihren Befehlen und Skripten ganz vermeiden.

Sie sollten auch den vollständigen Pfad zum Skript angeben - suchen Sie es vorzugsweise systemweit, z. _/usr/local/bin/clear_mem.sh_ anstelle von _~/clear_mem.sh_

3
steeldriver