Gostaria de saber como posso criar um arquivo de log que registre o stdout de um determinado programa para rolar quando ele atingir 500KB, por exemplo, usando / bin / ash como shell?
Não altera arquivos com base no tamanho do arquivo; em vez disso, cria um novo arquivo todos os dias, quando chamado com -d para "arquivos datados".
Se você realmente precisar dele com base no tamanho e não no tempo, provavelmente poderá modificá-lo para fazer o que quiser.
Provavelmente, você também pode criar um pequeno script bash em torno de dd bs = 1024k count = 1, para criar um novo arquivo com base no tamanho real. Certa vez, fiz isso em um programa que fazia backup de dados em disquetes ou fitas de tamanho fixo (principalmente) (algumas fitas são compactadas na unidade, para que você nem sempre possa armazenar o mesmo número de bytes nelas).
Respostas:
Isso faz quase o que você está pedindo: http://stromberg.dnsalias.org/~strombrg/pypty/
É uma reimplementação de tela (1) em Python.
Não altera arquivos com base no tamanho do arquivo; em vez disso, cria um novo arquivo todos os dias, quando chamado com -d para "arquivos datados".
Se você realmente precisar dele com base no tamanho e não no tempo, provavelmente poderá modificá-lo para fazer o que quiser.
Provavelmente, você também pode criar um pequeno script bash em torno de dd bs = 1024k count = 1, para criar um novo arquivo com base no tamanho real. Certa vez, fiz isso em um programa que fazia backup de dados em disquetes ou fitas de tamanho fixo (principalmente) (algumas fitas são compactadas na unidade, para que você nem sempre possa armazenar o mesmo número de bytes nelas).
fonte