Używam kilku skryptów Pythona na Beaglebone Black, oba uruchomione w init przez systemd. Zauważyłem wczoraj, że mój flash eMMC był całkowicie pełny, a powodem było to, że miałem 1,8 gigabajta plików dziennika. Wygląda na to, że standardowe wyjście tych skryptów (generują dużą ilość danych do celów debugowania) jest rejestrowane zarówno w/var/log/syslog i /var/log/daemon.log. Ponadto,/var/log/messages ma mnóstwo wpisów o "ograniczeniu szybkości".Procesy uruchomione przy użyciu systemd logują się do/var/log/syslog i /var/log/daemon.log
Teraz zakładam, że mogę to naprawić, wyłączając standardowe wyjście dla tych skryptów. Wolałbym jednak zachować tę zdolność i jakoś powiedzieć systemdowi, aby nie rejestrował tych danych. Jednak nie udało mi się znaleźć informacji na ten temat.
Oto przykład z mojego obecnego pliku .service:
[Unit]
Description=Description of my process
After=network.target
[Service]
Type=simple
ExecStart=/opt/myprocess
[Install]
WantedBy=multi-user.target
Należy zauważyć, że pierwotnie miał syslog.target jako „po” cel, tylko dlatego, że przykładowo ja następującym miał. Ale od tego czasu usunąłem go i wydaje się, że nie rozwiązuje problemu.
Każda pomoc lub wgląd w ten problem byłby bardzo doceniany.
Edit: Może znalazłem odpowiedź tutaj:
http://www.kibinlabs.com/systemd-logging-tricks/
Dodawanie StandardOutput = null i zobaczyć czy to rozwiązuje go. Wygląda obiecująco.
Edytuj 2: Tak.