GwenDragon
Registered User
Ein PHP 5.4 sessionclean hat leider einen Parameter -z, den sed 4.2.1 (Debian 7) nicht kennt.
Das bedeutet natürlich, dass der täglich cronjob nicht korrekt läuft (was zu fixen wäre).
Ich habe mich doof gesucht im Web. In keiner man page steht -z drin.
Im Cronjob sieht der Aufruf eigentlich so aus:
sessionclean /var/lib/php5 24
Wieso muss bei mit lsof gefundenen Dateinamen ein n am Zeilenanfang gelöscht werden? Ich dachte in /var/lib/php5 wären nur Dateien nach dem Muster PHPSESSID.....?
Was bedeutet -z?
Weiß jemand Abhilfe?
Danke für eure Hilfe.
Das bedeutet natürlich, dass der täglich cronjob nicht korrekt läuft (was zu fixen wäre).
Ich habe mich doof gesucht im Web. In keiner man page steht -z drin.
Code:
#!/bin/sh
# first find all used files and touch them (hope it's not massive amount of files)
[ -x /usr/bin/lsof ] && /usr/bin/lsof -w -l +d "${1}" -F0 | sed -zne "s/^n//p" | xargs -0i echo touch -c -h "'{}'"
# find all files older then maxlifetime
find "${1}" -depth -mindepth 1 -maxdepth 1 -ignore_readdir_race -type f -cmin "+${2}" -delete
Im Cronjob sieht der Aufruf eigentlich so aus:
sessionclean /var/lib/php5 24
Wieso muss bei mit lsof gefundenen Dateinamen ein n am Zeilenanfang gelöscht werden? Ich dachte in /var/lib/php5 wären nur Dateien nach dem Muster PHPSESSID.....?
Was bedeutet -z?
Weiß jemand Abhilfe?
Danke für eure Hilfe.
Last edited by a moderator: