Escondendo parte da saída de ls -l

1

A saída de ls -lht é

-rwxrwxrwx 1 root root 1.6G Jan  3 05:32 vServer.log

Ao executar ls -lht , posso adicionar algo que mostre apenas tamanho, data de modificação e nome de arquivo?

1.6G Jan  3 05:32 vServer.log

Usar: Estou fazendo backup de arquivos de liveserver para backupserver via rsync, mas quero comparar os diretórios para ver se há um novo arquivo em liveserver antes de executar o rsync, para que eu possa enviar um alerta por e-mail se não houver um novo arquivo.

    
por denski 03.01.2017 / 17:56

3 respostas

2

Se você quiser apenas

1.6G Jan  3 05:32 vServer.log

de

-rwxrwxrwx 1 root root 1.6G Jan  3 05:32 vServer.log

você pode usar o awk para remover as primeiras quatro colunas.

ls -lht vServer.log | awk '{$1=$2=$3=$4=""; print $0}'
    
por Kenan 03.01.2017 / 18:04
3

Se você quiser apenas comparar a diferença em arquivos e diretórios entre servidores ao vivo e de backup, você pode tentar o dry-run do rsync como abaixo.

rsync -ravun --delete {source} {destination} |grep "^deleting "

Do man rsync:

u - ignora arquivos que são mais recentes no receptor

n - realize uma avaliação sem alterações

    
por Rajesh Keladimath 03.01.2017 / 18:53
2

Use stat para obter informações sobre arquivos específicos em vez de ls . stat output é mais personalizável, pois aceita uma string de formato:

$ stat -c '%s %y %n' /var/log/Xorg.0.log
82346 2017-01-03 19:26:17.799547336 +0900 /var/log/Xorg.0.log
$ stat -c '%s %Y %n' /var/log/Xorg.0.log
82346 1483439177 /var/log/Xorg.0.log

%y e %Y são os tempos da última modificação, o primeiro, o timestamp do Unix, o último legível por humanos. Para simplesmente processar as informações em um script, %y é mais conveniente.

Para obter o comportamento de -t , você pode sort da saída (no segundo campo -k2,2 , numericamente -n , no reverso -r ):

stat -c '%s %y %n' | sort -rnk2,2

(Eu estou supondo que você não tem novas linhas em seus nomes de arquivos ou caminhos, o que eu acho que é uma suposição segura para logs - mas se você fizer isso, a opção stat --printf permite criar nul- saída delimitada, que sort pode manipular bem com -z .)

    
por muru 03.01.2017 / 18:12