desabilitar o samba vfs recycle object para um compartilhamento em particular

1

Estou usando o plug-in samba recycle e tenho o seguinte na minha seção [global]

recycle:exclude = *.~lock*
recycle:repository = .recycled
recycle:versions = yes
recycle:keeptree = yes
vfs objects = recycle

Gostaria de desativar esse recurso para um compartilhamento específico. Eu tentei colocar vfs objects = dentro da definição de compartilhamento, mas isso não tem efeito. Eu também tentei colocar recycle:exclude = * dentro da definição de compartilhamento, mas isso também não funcionou. E finalmente eu tentei definir (na seção [global]) recycle:exclude_dir = /home/path/to/my/dir/ que parecia promissor do man page

Entendo como desativar completamente o ciclo , mas isso não é o que Eu quero.

[edição sugerida pelo comentador útil abaixo!]

O caminho em questão é monitorado por um daemon do Dropbox. É por isso que eu não quero uma Lixeira - ela efetivamente causará um segundo carregamento hogging de largura de banda, e o .recycled / copy é desnecessário porque as versões do Dropbox são de qualquer maneira.

    
por artfulrobot 26.07.2012 / 13:27

5 respostas

2

Há um pouco de trabalho por aí, apenas atribua permissões 000 à pasta da lixeira do seu compartilhamento, ele ainda estará lá, mas nenhum arquivo será gravado nele. Eu tive que fazer isso na minha pasta de backups, porque o Windows grava e exclui tantos arquivos de backup.

    
por 06.12.2012 / 14:46
1

Eu não acho que isso é possível apenas para 1 compartilhamento usando o plugin samba recycle bin, você pode estar melhor com um script usado no cron rodando a cada minuto que apaga a pasta dentro do compartilhamento da lixeira.

Algo como rm -rf / home / path / to / my / dir / * adicionado ao cron vai lhe poupar o trabalho de se preocupar com a configuração do samba.

Agende um trabalho com o cron usando crontab -e e adicione a linha

*/10 * * * * /bin/rm -rf /home/path/to/my/dir/*

para executá-lo a cada 10 minutos e limpar qualquer coisa dentro de /home/path/to/my/dir/ .

    
por 26.07.2012 / 15:30
0

Se realmente é uma limitação do plug-in que ele só funcione globalmente, uma solução específica para essa situação seria alterar o caminho .recycled para / somewhere / else / e, se necessário, criar um link simbólico para / em algum lugar / else / ... dos outros caminhos. Isso é obviamente confuso, e os links simbólicos causam problemas em um ambiente de sistema operacional misto (por exemplo, o Linux tentará resolver localmente enquanto o Windows resolve o servidor remotamente).

    
por 26.07.2012 / 16:31
0

Basta colocar dentro da definição de compartilhamento:

    recycle:exclude = *.*

Pelo menos isso funcionou para mim usando o Samba 4.1.17, em uma máquina Debian 8.0 x86_64.

O que aconteceu comigo

Ativei a lixeira do Samba para todos os compartilhamentos em um servidor de arquivos nosso no trabalho. Por exemplo:

[global]

...

    recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
    recycle:exclude_dir = tmp, cache
    recycle:keeptree = yes
    recycle:repository = /var/samba/trash/%S
    recycle:versions = yes

...

E eu configurei um compartilhamento RECYCLE, apenas para facilitar a recuperação de arquivos excluídos acidentalmente:

[RECYCLE]
    path = /var/samba/trash
    writable = yes

Em seguida, percebi que, em uma máquina cliente, eu excluía um arquivo de qualquer compartilhamento e, em seguida, recortava e colava esse arquivo do compartilhamento RECYCLE em seu compartilhamento original, o Samba criou um backup do compartilhamento RECYCLE com o arquivo recuperado dentro dela (ou seja, uma lixeira da própria lixeira).

A solução que encontrei foi excluir o compartilhamento RECYCLE do recurso de reciclagem do Samba:

[global]

...

    recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
    recycle:exclude_dir = tmp, cache
    recycle:keeptree = yes
    recycle:repository = /var/samba/trash/%S
    recycle:versions = yes

...

[RECYCLE]
    path = /var/samba/trash
    recycle:exclude = *.*
    writable = yes
    
por 02.06.2016 / 20:50
0

Para desabilitar o vfs recycle para um compartilhamento em particular, basta colocar isso dentro do compartilhamento:

vfs objects =

Então, para ativar o vfs recycle para todos os compartilhamentos, mas não para o "norecyclebin", sua configuração deve ficar assim:

[global]
...
   vfs objects = recycle
   recycle:repository = RECYCLER
   recycle:keeptree = Yes
   recycle:versions = Yes
   ...


[share]
   ...

[anothershare]
   ...

[norecyclebin]
   ...
   # disable recycle bin for this share
   vfs objects =
    
por 28.07.2017 / 19:01

Tags