Я хочу создать символическую ссылку на файл (например, /var/log/cron/cron.log
), которая будет иметь символическую ссылку как на , так /proc/1/fd/2
и на /proc/1/fd/1
.
Это возможно?
решение1
Нет, он может указывать только на одну цель. Поскольку ссылка указывает на определенный inode на цели, только один может существовать в один момент времени
решение2
Кевинуже ответил на букву вопроса, попробую ответить на дух. Если вы хотите писать в два файла одновременно (предполагая, что один из них не является жесткой/символической ссылкой на другой), вы можете использоватьименованные каналыи 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