seria uma idéia para usar o deamon syslogd? Em seu arquivo de configuração /etc/syslog.conf, você pode especificar o (s) arquivo (s) de log para sua aplicação / gravidade, etc. Para mais: link
Crie um arquivo como o arquivo de log no CentOS, quando esse arquivo de log for atualizado, a cópia do arquivo de log também será atualizada. Talvez eu use este comando:
ln -s logfile copy_of_logfile
Então, quando o conteúdo do logfile é adicionado, o conteúdo de copy_of_logfile também é adicionado == > está tudo bem, mas quando o conteúdo do logfile é deletado, o conteúdo do copy_of_logfile também é deletado.
Eu quero que seja quando o conteúdo do logfile é adicionado, um conteúdo do copyfoflogfile também é adicionado, e quando o conteúdo do logfile é deletado, eu quero que o conteúdo do copyfile logfile NÃO seja deletado. Por favor, me diga como fazer isso.
seria uma idéia para usar o deamon syslogd? Em seu arquivo de configuração /etc/syslog.conf, você pode especificar o (s) arquivo (s) de log para sua aplicação / gravidade, etc. Para mais: link
ln -s logfile copy_of_logfile
then logfile's content is added, copy_of_logfile's content is also added
Uhm, não. Se você criar um softlink, ainda terá apenas um único arquivo .
Qualquer ação nesse único arquivo mostrará como ambas as entradas de diretório.
Deixe-me esclarecer isso com dois exemplos:
Exemplo 1: é como se você criasse duas entradas em um catálogo de endereços do celular com o mesmo número de telefone. Você obtém o mesmo resultado ao chamar.
Exemplo 2: Usando um livro (o índice é a entrada de diretório)
Antes de vincular:
Index
---------------------------------
About the author Page 1
Index Page 2
Hansel and Gretchen Page 3-10
Sneeuwwitje Page 11-14
Intentionally left blank Page 15
About the author. Page 16
---------------------------------
E depois da suave ligação:
Index
---------------------------------
About the author Page 1
Index Page 2
Hansel and Gretchen Page 3-10
Sneeuwwitje Page 11-14
My copy of Sneeuwwite See index entry for Sneeuwwite
Intentionally left blank Page 15
About the author. Page 16
---------------------------------
No exemplo, a história ainda acaba nas mesmas páginas. Se você editar uma das histórias, ambas serão alteradas.
Se você usa um link hard em vez de um link simples:
Index
---------------------------------
About the author Page 1
Index Page 2
Hansel and Gretchen Page 3-10
Sneeuwwitje Page 11-14
My copy of Sneeuwwite Page 11-14
Intentionally left blank Page 15
About the author. Page 16
---------------------------------
it's ok, but logfile's content is deleted, copy_of_logfile's content is also deleted
Sim, porque é o mesmo arquivo. Não é uma cópia.
Como você deseja excluir de um dos arquivos sem excluí-lo do outro arquivo (a cópia), precisará de dois arquivos distintos.
Faça o login em dois arquivos ou divida a saída usando tee
.
Uma alternativa é usar tail -f
para ler todas as novas informações adicionadas ao arquivo de log original. (e adicione isso ao seu backup).
Na verdade, existe uma maneira de obter o que você deseja: uma cópia em execução de um determinado arquivo. Pode ser obtido criando um pipe nomeado ,
mkfifo mypipe.logfile
que, como o próprio nome sugere, é o arquivo no qual você irá escrever o log, depois lendo com o comando tee
, para enviar a saída para dois arquivos idênticos:
cat mypipe.logfile | tee -a logfile 1>> copy_of_logfile
Isso gerará automaticamente dois arquivos idênticos, que são mantidos em passo à medida que novos materiais são adicionados a cada um deles.
Se você quiser garantir que o processo nunca pare, adicione um loop while
while [ true ]; do cat mypipe.logfile | tee -a logfile 1>> copy_log_file; done
Isso pode ser iniciado por script, iniciado na inicialização, reaberto se você quiser que ele seja executado para sempre e assim por diante.
Tags bash symbolic-link linux centos