Не записывает журналы в /var/log/security после изменения этого файла

Los acentos graves se asemejan a la sustitución de comandos. Esta sintaxis de backticks es arcaica, y es común saber que el signo de dólar con dos paréntesis:$().

¿Qué es la sustitución de mando?

La sustitución de comandos es una sola operación con sintaxis dedicada tanto para ejecutar un comando como para almacenar su salida en una variable para su uso posterior.

Un ejemplo con fecha:

thedate=$(date)

Entonces podríamos imprimir el resultado :'La fecha es %s\n' "$thedate" `.

  1. La sintaxis de sustitución de comandos es $().
  2. El comando en sí es date.
  3. Combinando ambos obtenemos $(date)cuya salida es la sustitución.
  4. Mostramos el valor de salida retenido por la variable con printf, según el comando anterior.
1
13.10.2019, 01:05
1 ответ

Это нормально. Ваш процесс не знает имени файла, он знает только дескриптор файла -. Поэтому, если вы удалите файл и создадите новый с тем же именем, процесс продолжит запись в файловый дескриптор прежнего файла. требуется перезапустить процесс, чтобы новый дескриптор файла был загружен и использован из имени файла.

Таким образом, если вы не хотите изменять файловый дескриптор и очищать содержимое файла, не перезапуская процесс, вы можете попробовать что-то вроде echo "">/var/log/filenameэта команда удалит содержимое имени файла без изменения файлового дескриптора. (конечно, нужно сначала протестировать)

0
28.01.2020, 00:04

Теги

Похожие вопросы