rizhas@rizhas-laptop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 67G 58G 5,2G 92% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 1,5G 12K 1,5G 1% /dev
tmpfs 303M 1,2M 302M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 1,5G 348K 1,5G 1% /run/shm
none 100M 80K 100M 1% /run/user
overflow 1,0M 1,0M 0 100% /tmp
overflow 1,0M 1,0M 0 100% /tmp
Como limpar /tmp
?
Respostas:
/ tmp deve ser limpo na reinicialização, mas se você não reiniciar (o que é normal para servidores), a limpeza não ocorrerá
find /tmp -ctime +10 -exec rm -rf {} +
excluirá todos os arquivos e pastas com mais de 10 dias. convém adicioná-lo ao cron diário.
ATUALIZAR
Nos comentários abaixo, o @sfussenegger recomenda um formato ligeiramente diferente deste comando que pode ser mais adequado às suas necessidades e ao sistema em que você está operando.
sudo find /tmp -type f -atime +10 -delete
Aqui, o comando está sendo usado
sudo
para garantir que tudo seja excluído (ou você pode executá-lo como root), operando em arquivos que não foram acessados por mais de 10 dias e exclui apenas arquivos, não pastas . Ele também usa-delete
para evitar ter que executar orm
comandofonte
-type f
). caso contrário, você poderá descobrir que o pai de uma árvore de diretórios não foi acessado por um tempo e excluir todo o conteúdo que ainda poderia estar em uso. de modo que o comando final eu recomendo ésudo find /tmp -type f -atime +10 -delete
Você pode assumir que qualquer coisa dentro de um diretório tmp (/ tmp / / usr / tmp etc) pode ser excluída. ANTES de começar a excluir, interrompa todos os programas e serviços que você está usando, já que / tmp / pode ser usado por programas para armazenar temporariamente informações para essa sessão. Então faça a
sudo service mysql stop
esudo service apache2 stop
se você tiver um mysql e / ou apache em execução. O nome dos arquivos no diretório / tmp / na maioria das vezes fornece uma pista de qual programa eles pertencem.Então, na linha de comando ...
esvaziará o diretório / tmp / e removerá todos os arquivos e subdiretórios. Cuidado para digitar corretamente. O comando
pwd
não é necessário, mas deve aparecer/tmp
.Se você deseja interativamente (é necessário confirmar a exclusão):
Também é importante notar que uma reinicialização também limpará o / tmp, como mostrado aqui: Como o diretório / tmp é limpo? Portanto, se / tmp / estiver cheio de arquivos após uma reinicialização, você precisará investigar a origem desses arquivos.
Eu também gostaria de afirmar que 1 Mb para / tmp não é muito espaço. Você está usando o MySQL? Consulte https://unix.stackexchange.com/a/76058/10017 sobre como corrigir isso (obrigado @drc)
fonte
who –b
(data da última inicialização) e criar um arquivo / horário de validade no momento da inicialização (touch ....... /boottime
) permitirá que se faça um segurofind /tmp -type f \( ! -newer /boottime \) -delete \;
, excluindo apenas arquivos anteriores à última inicializaçãomktemp
regularmente meus scripts, discordo totalmente da declaração "sem nenhum dano"./tmp
contiver algo mais antigo que a última reinicialização, os scripts de inicialização não realizaram seus trabalhos.O
tmpreaper
programa pode ser usado para limpar / tmp periodicamente. Este programa exclui tudo o que não foi acessado em um determinado período de tempo, normalmente duas semanas. Para que isso funcione corretamente, o sistema de arquivos em que ele está deve ter aatimes
opção ativada. Se você usa um tmpfs , o que parece estar fazendo, você deve estar bem.Obviamente, reiniciar também limpa / tmp , mas isso seria chato.
fonte
O diretório
/tmp
significa temporário.Este diretório armazena dados temporários. Você não precisa excluir nada dele, os dados contidos nele são excluídos automaticamente após cada reinicialização.
Ainda assim, se você deseja excluir os dados presentes, use
sudo rm -r /tmp/*
excluir dele não causará nenhum problema, pois esses são arquivos temporários.
fonte
Tenha cuidado antes de executar um comando como
rm -r ./*
. Depois de executá-lo, será muito difícil ou impossível recuperar quaisquer dados.Tudo será removido. Verifique se o diretório que você está excluindo está correto.
Existe uma maneira mais segura de lidar com as coisas.
Dessa forma, quando você acidentalmente executa esse comando de dentro do seu shell
history
, ele não exclui os arquivos errados (a menos que você os esteja mantendo/tmp
).fonte
O
/tmp
diretório foi limpo por padrão a cada inicialização, porqueTMPTIME
é0
por padrão.fonte
Se sua montagem "/ tmp" em um sistema de arquivos linux estiver montada como excedente (geralmente dimensionada em 1 MB), isso provavelmente ocorrerá porque você não especificou "/ tmp" como sua própria partição e seu sistema de arquivos raiz foi preenchido e "/ tmp" foi remontado como um substituto. Para corrigir isso depois de liberar espaço, desmonte o fallback e ele deverá remontar no ponto original:
se o dispositivo estiver ocupado, use
fonte