Назад | Перейти на главную страницу

Можете ли вы создать символическую ссылку для файла на несколько целей в bash?

Я хочу создать символическую ссылку для файла (например, /var/log/cron/cron.log), который будет иметь символическую ссылку на оба /proc/1/fd/2 и /proc/1/fd/1.

Это возможно?

Нет, он может указывать только на одну цель. Поскольку ссылка указывает на конкретный индексный дескриптор на цели, единовременно может существовать только один.

Кевин на букву вопроса уже ответил, попробую по духу ответить. Если вы хотите записать в два файла одновременно (при условии, что один из них не является жесткой / символической ссылкой на другой), вы можете использовать именованные каналы и tee команда для дублирования вывода:

mkfifo dup.txt
tee -a a.txt >> b.txt < dup.txt &
echo "Hello world!" >> dup.txt

получите "Hello world!" написано обоим a.txt и b.txt. тем не мение тройник выйдет после первой записи.

Поскольку в вашем примере вы используете файл журнала, более стабильным решением было бы настроить rsyslogd отправить все cron сообщения в несколько файлов:

cron.* -/var/log/cron/cron.log
cron.* -/var/log/another-file.log