tar --exclude flag não excluindo o diretório se eu adicionar a barra final '/' no final do caminho

2

Se eu usar este comando:

sudo tar -zcvpf exclusion.tar.gz mybkup/ --exclude=mybkup/etc/ssh/

então Se eu tentar ver se o diretório ssh está incluído no conteúdo do tarball, vejo que, de fato, está incluído:

[user@smashingx1 ~]$ tar -tvzf exclusion.tar.gz | grep ssh
lrwxrwxrwx user/user         0 2016-11-30 04:26 mybkup/etc/systemd/system/multi-user.target.wants/sshd.service -> /usr/lib/systemd/system/sshd.service
-rw-r----- user/user       506 2016-11-30 04:26 mybkup/etc/sysconfig/sshd
-rw-r--r-- user/user      5996 2016-11-30 04:26 mybkup/etc/xdg/autostart/gnome-keyring-ssh.desktop
drwxr-xr-x user/user         0 2016-11-30 04:26 mybkup/etc/ssh/
-rw-r--r-- user/user    242153 2016-11-30 04:26 mybkup/etc/ssh/moduli
-rw-r--r-- user/user      2208 2016-11-30 04:26 mybkup/etc/ssh/ssh_config
-rw-r--r-- user/user       382 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_rsa_key.pub
-rw-r--r-- user/user       162 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ecdsa_key.pub
-rw-r--r-- user/user      4760 2016-11-30 04:26 mybkup/etc/ssh/sshd_config
-rw-r--r-- user/user        82 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ed25519_key.pub
-rw-r----- user/user      1675 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_rsa_key
-rw-r----- user/user       227 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ecdsa_key
-rw------- user/user      4361 2016-11-30 04:26 mybkup/etc/ssh/sshd_config.rpmnew
-rw-r----- user/user       387 2016-11-30 04:26 mybkup/etc/ssh/ssh_host_ed25519_key
-rw-r--r-- user/user      8730 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/rssh.pp
-rw-r--r-- user/user     18774 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/ssh.pp
-rw-r--r-- user/user       904 2016-11-30 04:26 mybkup/etc/pam.d/sshd

mas se eu não adicionar o último '/' no final do caminho do diretório, ele excluirá o diretório:

sudo tar -zcvpf exclusion.tar.gz mybkup/ --exclude=mybkup/etc/ssh

tar -tvzf exclusion.tar.gz | grep ssh

lrwxrwxrwx user/user         0 2016-11-30 04:26 mybkup/etc/systemd/system/multi-user.target.wants/sshd.service -> /usr/lib/systemd/system/sshd.service
-rw-r----- user/user       506 2016-11-30 04:26 mybkup/etc/sysconfig/sshd
-rw-r--r-- user/user      5996 2016-11-30 04:26 mybkup/etc/xdg/autostart/gnome-keyring-ssh.desktop
-rw-r--r-- user/user      8730 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/rssh.pp
-rw-r--r-- user/user     18774 2016-11-30 04:26 mybkup/etc/selinux/targeted/modules/active/modules/ssh.pp
-rw-r--r-- user/user       904 2016-11-30 04:26 mybkup/etc/pam.d/sshd

Estou confuso porque pensei que instruindo tar para excluir o diretório, excluiria o diretório e seu conteúdo, mas aparentemente não é o caso, alguém pode explicar por favor?

    
por VaTo 30.11.2016 / 18:15

1 resposta

1

Não sei ao certo o quanto você considera uma explicação, mas as opções excluir para o tar usam o nome da coisa a ser excluída. Nesse caso, você deseja excluir um diretório chamado ssh . Não há nada realmente chamado ssh / . O padrão de exclusão que você fornecer não corresponderá a nada.

    
por 30.11.2016 / 22:53

Tags