Dlaczego mój cron */1 * * * * /usr/bin/php /var/www/query/query.php &> /root/querylog.log
zapisuje dane wynikowe query.php w folderze / root /?
(ten skrypt powinien zapisać * .txt w swojej lokalizacji)
It should do so at /var/www
Właścicielem folderu var/www/query/
jest web-data
.
Uruchamianie go w Debian Squeeze 6.0
Odpowiedzi:
querylog.log
Plik jest zapisywany w/root
katalogu, ponieważ to jest dokładnie, gdzie zostały określone powinny być zapisane.Jeśli chcesz zmienić jego lokalizację, po prostu edytuj ścieżkę do wybranej lokalizacji, np
/var/www/querylog.log
.źródło
Dzieje się tak, ponieważ zadanie cron jest uruchamiane jako użytkownik root, więc jest wykonywane w $ HOME użytkownika root, tj
/root
.Jeśli chcesz, aby zadanie cron działało w innym miejscu, aby generować tam dane wyjściowe, powinieneś się tam najpierw przenieść, np. Napisać skrypt, który robi wszystko i uruchomić go z crona:
my_query.bash
I staje się linia cron
źródło