Aqui está minha situação. Estou executando um site WordPress que usa o cache total do w3. Uma grande parte deste website é dinâmica e estática. Então, estou colocando essas páginas em cache como HTML estático em uma pasta, vamos chamá-lo de /home/test.com/wp-content/cache/page_enhanced/static/ . Assim, cada arquivo dessa pasta é uma representação em HTML do que alguém obteria se visitasse test.com/static ou test.com/static/foo ou test.com/static/foo/bar . Todos os arquivos nesta pasta não precisarão ser atualizados por mais ou menos 6 meses, mas haverá 40 KB + de arquivos nos diretórios.
Eu executei um script python (Optimus Cache Prime) para visitar todas as páginas em um sitemap.xml para gerar todos os arquivos que iriam nessa pasta. O Apache então recebe um pedido de test.com/static/foo , pula todo o processamento PHP e SQL e exibe um arquivo HTML (assim, uma solicitação para http://test.com/static/foo exibe o arquivo localizado em /home/test.com/wp-content/cache/page_enhanced/static/_index.html ).
Eu quero que esses arquivos existam no formulário atual até que eu entre na pasta como sudo e apague esses arquivos manualmente.
Nem todos os arquivos em /home/test.com/wp-content/cache/page_enhanced/ devem existir nesse formulário atual, apenas o diretório /static/ e seus subdiretórios.
Então, fui para /home/test.com/wp-content/cache/page_enhanced/static/ e executei find ./ -type f -exec chmod 444 {} \; . Para minha surpresa, a maioria dos arquivos foram deletados hoje (deve ter sido pelo script PHP, eu sou o único com acesso ssh).
Como posso evitar que isso aconteça? Servidor web Ubuntu dedicado. Parece fácil, mas eu sou um desenvolvedor web, eu só sei o suficiente para ser perigoso.
Editar: não desejo definir permissões na pasta, porque haverá algumas coisas que precisam ser armazenadas em cache e, em seguida, exibidas. Portanto, http://test.com/search/weird+search+term+foo+bar deve ser armazenado em cache dinamicamente como _index.html , uma vez que alguém pesquisar isso, então, da próxima vez que alguém o pesquisar, ele não precisará passar pelo processamento de PHP e SQL.
Então, problema secundário, eu preciso dizer que qualquer arquivo dentro do meu diretório deve ganhar automaticamente essas permissões, mas isso é uma preocupação menor agora.