Как отразить несколько строк в теле письма при использовании команды mail в Linux?

Я все еще копаюсь в деталях, но похоже, что эти файлы играют роль в управлении разрешениями /var/logво время загрузки:

  • /usr/lib/tmpfiles.d/var.conf
  • /usr/lib/tmpfiles.d/00rsyslog.conf

По иронии судьбы, я нашел их, когда запустил grep -ri '/var/log' /var/logна компьютере с Ubuntu 16.04 и увидел это сообщение:

./syslog.1:Jul  9 21:18:15 ubuntu-virtual-machine systemd-tmpfiles[616]: [/usr/lib/tmpfiles.d/var.conf:14] Duplicate line for path "/var/log", ignoring.

Я просмотрел этот файл и нашел это:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

q /var 0755 - - -

L /var/run - - - -../run

d /var/log 0755 - - -
f /var/log/wtmp 0664 root utmp -
f /var/log/btmp 0600 root utmp -

d /var/cache 0755 - - -

d /var/lib 0755 - - -

d /var/spool 0755 - - -

Я начал настраивать значения для строки d /var/log 0755 - - -, но без каких-либо заметных изменений от моих усилий я поискал дальше в этом каталоге и нашел файл /usr/lib/tmpfiles.d/00rsyslog.conf.

В этом файле:

# Override systemd's default tmpfiles.d/var.conf to make /var/log writable by
# the syslog group, so that rsyslog can run as user.
# See tmpfiles.d(5) for details.

# Type Path    Mode UID  GID  Age Argument
d /var/log 0775 root syslog -

root@ubuntu-virtual-machine:/usr/lib/tmpfiles.d# dpkg -S /usr/lib/tmpfiles.d/00rsyslog.conf

rsyslog: /usr/lib/tmpfiles.d/00rsyslog.conf

Таким образом, пакет rsyslog предоставляет включаемый файл conf, который пытается переопределить значения, установленные в файле tmpfiles.d/var.confconf.

В результате, когда я удаляю rsyslog, применяются настройки файла tmpfiles.d/var.confconf, в данном случае это 0755.

Мне необходимо дополнительно выяснить, предназначен ли tmpfiles.dтолько для сопровождающих пакетов или системным администраторам также необходимо управлять файлами в этой области.

Редактировать:

Оказывается, есть три каталога,первый из них имеет наивысший приоритет (и предназначен для использования администраторами для переопределения настроек двух других):

  1. /etc/tmpfiles.d/*.conf
  2. /run/tmpfiles.d/*.conf
  3. /usr/lib/tmpfiles.d/*.conf

Подробнее:

0
01.08.2019, 08:07
1 ответ

Вы можете сгруппировать несколько команд в оболочку sub -, используя круглые скобки (и ), а затем направить вывод оболочки sub -в mail.

напр. (с несколькими дополнительными переводами строки после текста «Ниже...»):

( printf '%s\n\n\n' "Below are list of files transfered"
  find. -maxdepth 1 -type f -name $(echo ${FILE_ARR[@]}| sed 's/ / -o -name /g')
) | mail -s "$some_subject" "$some_mail_id"

Или, если команда find не нужна (и кажется, что это не так):

( printf '%s\n\n\n' "Below are list of files transfered"
  printf '%s\n' "${FILE_ARR[@]}"
) | mail -s "$some_subject" "$some_mail_id"
2
28.01.2020, 02:39

Теги

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