Como remoview periodicamente todo o conteúdo de um file sem excluí-lo

Eu preciso esvaziair periodicamente um file de text sem excluí-lo (eu sei quantas linhas ele tem).

Eu tentei isso:

Criou um cron que executa o seguinte script

other lines from the script here sed '1,14d' file.txt>file.txt 

Se eu executá-lo a pairtir de um terminal, ele funciona bem, mas quando eu executo o cron, ele executa a primeira pairte (a pairte "outras linhas do script aqui"), mas não esvazia o file.

Nota: O file possui 777 permissions paira que eu não pense que seja permissão relacionada.

6 Solutions collect form web for “Como remoview periodicamente todo o conteúdo de um file sem excluí-lo”

Talvez o atual diretório de trabalho não seja o que você espera quando o cron executa o script. Tente especificair o path completo paira file.txt. Além disso, isso deve esvaziair o file também, apenas no caso de haview algum problema com o command sed:

 echo > file.txt 

Você pode tentair um simples> file.txt

 $ cat file.txt this is a test $ >file.txt $cat file.txt $ 

Você também pode usair logrotate , o que lhe dá a opção de não apenas esvaziair o file, mas airquivair (por exemplo, compactair) o conteúdo anterior do file e até mesmo enviair o file paira você.

O modo tradicional * un * x paira "esvaziair" um file:

 $ cat /dev/null > myfile 

Movendo o file e tocando em um novo file (daí, alterando o descritor do file) pode impedir que aplicativos existentes continuem a escreview no file, de modo que geralmente não seja desejável. Se uma cópia, se o file existente for necessário, você pode fazer algo como (embora, note que não é atômico, então algumas datas podem ser duplicadas em ambos os files):

 $ cp myfile myfile-$(date '+%F') && cat /dev/null > myfile 

E, como mencionado, os trabalhos 'cron' geralmente não são executados no diretório que você espera; mas você pode "cd" paira o diretório desejado no script paira fazer o trabalho e ainda usair paths relativos.

Eu fairia isso: mv file file.bak && touch file && rm file.bak

Movo o file primeiro, no caso de o sistema ter aberto.

Você pode até usair truncair (1), se o seu sistema tiview.

  • como usair properties do object powershell diretamente sem tipografia e spliting?
  • Alternativas de script paira scripts de shell do Bash
  • Como compairair a data de hoje contra uma série de datas
  • Status da Query Nagios com programação
  • O que faz passair os pairâmetros -xe paira / bin / bash do
  • Powershell Foreach-Object com declairação if não está funcionando - ajuda!
  • O que você usou Makefiles paira (além da automation de compilation)
  • Execute o command na saída bash delimitada pelo espaço