Você pode criar um link simbólico para um arquivo para vários destinos no bash?

Você pode criar um link simbólico para um arquivo para vários destinos no bash?

Estou procurando criar um link simbólico para um arquivo (por exemplo, /var/log/cron/cron.log) que terá um link simbólico para ambos /proc/1/fd/2e /proc/1/fd/1.

Isso é possível?

Responder1

Não, só pode apontar para um alvo. Como um link aponta para um inode específico no destino, apenas um pode existir por vez

Responder2

Kevinjá respondi ao pé da letra da pergunta, tentarei responder ao espírito. Se você quiser gravar em dois arquivos ao mesmo tempo (assumindo que um deles não seja um link físico/simbólico para o outro), você pode usartubos nomeadose o teecomando para duplicar a saída:

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

será "Hello world!"gravado em ambos a.txte b.txt. No entantocamisetasairá após a primeira gravação.

Como no seu exemplo você usa um arquivo de log, uma solução mais estável seria configurarrsyslogdpara enviar todas cronas mensagens para vários arquivos:

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

informação relacionada