script de shell para o nome do arquivo chmod, mas apenas em novos arquivos desde a última execução do script


1

Eu tenho um diretório onde novos arquivos são enviados e recebem o nome do arquivo numérico à medida que são enviados. o nome do arquivo são números que aumentam.

Eu preciso alterar as permissões para o arquivo, mas apenas em novos arquivos que foram enviados desde o último chmod.

alguma ideia?

Respostas:


1

Ao executar cada ação chmod, toque em um arquivo, por exemplo touch /tmp/foo.

Quando a próxima iteração chegar, use find -newer, por exemplo, find . -newer /tmp/foo -exec chmod 755 {} \;e então touch /tmp/foo.


E lá vai você @ashwin mehta. Nice one steve :)
neurônio

0

Se você deseja conseguir isso, precisa comparar o "ctime" dos arquivos com o "atime" do script. Isso não pode ser feito por uma implementação de baunilha find (1), mas apenas por uma localização estendida.

Com uma implementação moderna do find (1) como o BSD find ou sfind, você pode usar -newerXY, no seu caso:

encontrar . -newerca script

e isso encontrará todos os arquivos com uma alteração de status após a última leitura em "script".

Observe que algumas distribuições Linux, por padrão, montam sistemas de arquivos com -noatime.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.