я удалил /etc/sv/<service>/log/current
пока эта служба работала, и хотел получить чистый набор журналов. Однако когда я это сделал sudo service <service> restart
, Я видел, что current
файл не был воссоздан, и я не могу найти, куда собираются новые журналы. Затем я попытался создать файл сам и даже дал самое слабое разрешение на запись и увидел, что файл все еще не записывается. Вот ls -la
этого каталога (после того, как я создал current
файл):
-rwxr--r-- 1 root root 92989 Sep 26 18:08 @400000005d8cfea82484f9e4.s
-rwxr--r-- 1 root root 353827 Sep 26 19:08 @400000005d8d0cb826d2f50c.s
-rwxr--r-- 1 root root 272084 Sep 26 19:45 @400000005d8d1ac8286c4a1c.s
-rwxr--r-- 1 root root 332117 Sep 26 21:00 @400000005d8d28d82f65f304.s
-rwxr--r-- 1 root root 1678531 Sep 26 22:08 @400000005d8d36e8308de4bc.s
-rwxr--r-- 1 root root 2143833 Sep 26 23:08 @400000005d8d44f831d170dc.s
-rwxr--r-- 1 root root 1549498 Sep 27 00:08 @400000005d8d5308332767d4.s
-rw-r--r-- 1 root root 33 Jan 31 2019 config
-rwxrwxrwx 1 root root 0 Sep 27 00:43 current
-rw------- 1 root root 0 Jan 31 2019 lock
drwxr-xr-x 2 root root 4096 Jan 31 2019 main
-rwxr-xr-x 1 root root 40 Jan 31 2019 run
drwx------ 2 root root 4096 Feb 21 2019 supervise
Что я могу сделать, чтобы вернуть current
log и перезапустить ротацию журналов на этой службе?
ps auxf
дает мне эту конкретную строку, которая кажется интересной:
root 1269 0.0 0.0 176 44 ? Ss Feb21 0:17 \_ runsv <service>
root 1272 0.0 0.0 200 56 ? S Feb21 15:41 | \_ svlogd -b 2048 -l 2000 .
root 29245 0.0 3.9 503232 299256 ? Sl 00:55 0:22 | \_ /usr/bin/python3 <some service>
Я вижу здесь подуслугу журнала, но я не уверен, какую команду можно использовать для перезапуска самой подслужбы.
Файл журнала (обычно) записывается log
вспомогательная, а не основная услуга. Вам необходимо перезапустить log
sub-service, чтобы закрыть файл, в который он записывает, и снова открыть его.