Estou tentando excluir todos os backups de itens específicos através da linha de comando. Eu posso fazer isso usando a GUI através das seguintes etapas:
- Entrar na máquina do tempo
- Navegue até o arquivo a ser excluído
- Clique com o botão direito do mouse (ou clique no ícone de roda dentada no localizador) e escolha "Excluir todos os backups de ..."
Como posso replicar isso na linha de comando usando tmutil
? Especialmente, ao usar o Backup Loupe para detectar arquivos grandes, seria mais fácil usar o Terminal (já que não preciso inserir o TimeMachine a cada vez que quero excluir um arquivo específico e navegar nele usando o Finder, e solte-o no Terminal para um comando para excluí-lo).
Eu esperava poder usar algo assim:
sudo tmutil delete /path/to/file
no entanto, me dá o erro:
"Destino de exclusão inválido (erro 22)" `
Isso funciona bem:
sudo tmutil delete /Volume/Backups.backupdb/<machinename>
E isso também:
sudo tmutil delete /Volume/Backups.backupdb/<machinename>/<specificbackup>
De acordo com man tmutil
o delete
comando também deve ser capaz de excluir itens específicos. No entanto, estou sem sorte até agora. Embora existam inúmeras respostas neste site (e em outros lugares) para excluir backups específicos com tmutil
e excluir itens de backup específicos por meio da GUI (usando o método descrito acima), não foi possível encontrar nenhuma maneira que não seja da GUI para excluir itens de backup específicos .
Respostas:
Encontrei estas perguntas e respostas da SU intituladas: Como excluir arquivos do Time Machine usando a linha de comando que demonstra um método para excluir arquivos específicos da CLI. Esta resposta destacou um método que soa como o que você deseja:
Nessa resposta, foi mostrado que se poderia usar este método para excluir um arquivo:
O método para excluir o arquivo usa uma ferramenta CLI auxiliar incluída no Time Machine chamada
bypass
:localização do desvio
Como
bypass
é considerado um script auxiliar para o Time Machine, sua localização normalmente não está no seu computador$PATH
. Portanto, você precisará especificar o caminho completo para o executável. Além disso, a Apple o mudou para diferentes versões do macOS.Referências
fonte
sudo bypass rm -f */Macintosh\ HD\Users\csm\vm.img
garante que tudo isso seja realizado de uma só vez?rm
Depoiscd /Volumes/DISK/Backups.backupdb/MACHINE
que o caractere é executado , o curinga se expande para todas as pastas datadas que contêm a imagem. Eu fixo um\\
-/
erro de digitação na resposta embora.bypass
é exatamente o bisturi que preciso para minha ferramenta. Gostaria de envolvê-lo em swift ou python, para que seja mais fácil de usar, mas veremos se euDe acordo com
man tmutil
, otmutil delete
comando pode ser usado para excluir um ou mais instantâneos , diretórios de máquinas ou armazenamentos de backup . Os termos são definidos no início da mesma página do manual:/Volumes/Chronoton/Backups.backupdb/thermopylae/2011-07-03-123456
)/Volumes/Chronoton/Backups.backupdb/thermopylae
)/Volumes/Chronoton/Backups.backupdb
)Portanto, parece que infelizmente não é possível usar
tmutil
para excluir itens específicos em um instantâneo.fonte