Variables en asignaciones simples (p.a=$b
)son, por definición, (, es decir, especificación POSIX ), por lo general, no es necesario citar --en la mayoría de los casos, de todos modos. Esto se debe a que en estas asignaciones, la "división de cadenas -" y "globbing" (, es decir, el espacio en blanco -y los comodines como*
)no se expanden.
En otros casos, distintos de las asignaciones, la variable(echo $b
)se expande --incluyendo espacios en blanco (cadena -división)--y, por lo tanto, debe citarse(echo "$b"
)para evitar problemas, en caso de que contenga espacios en blanco. Por ejemplo, considere si no estoy usando echo
como ejemplo, sino que otro comando:cmd $b
va a recibir múltiples argumentos si hay espacios en $b
, pero cmd "$b"
recibirá un argumento, incluso si tiene espacios.
Véase también:https://stackoverflow.com/questions/3958681/quoting-vs-not-quoting-the-variable-on-the-rhs-of-a-variable-assignment
Вы должны указать rsyslogd повторно открыть файлы журнала -с помощью чего-то вроде:
/usr/bin/systemctl kill -s HUP rsyslog.service
Я еще не нашел, как заставить его перезагрузить свою конфигурацию, в большинстве обращений говорится, что вам нужно перезапустить его, чтобы применить новую конфигурацию.
Я нашел этот вопрос о сбое сервера, который связывает информацию, это невозможно:
https://serverfault.com/q/1053728/343786
И эти сообщения, которые немного говорят о том, почему:
https://rainer.gerhards.net/2008/10/new-rsyslog-hup-processing.html
https://github.com/rsyslog/rsyslog/issues/3759
Последнее относится к RELP, который можно использовать, чтобы избежать потери сообщений журнала, см. :
.https://en.wikipedia.org/wiki/Reliable_Event_Logging_Protocol