+ Responder ao Tópico



  1. #1
    pre-feit0
    Visitante

    Padrão diretorio maluco

    Alguém ja executou o comando "cd //"
    Se você o fizer, pode digitar pwd que verá que está em //, mas digite o comando ls e você verá que esta em / :|
    digite cd .. e continuará em //
    digite cd /// que irá para / :lol:
    Pelo menos é o que acontece com o FedoraCore e o CentOS.
    Alguém sabe se isso funciona em outras distros? :?

    O pior é que isso atrapalha.... :x vejam, fiz um script de rsync que faz backup de todo hd, menos de /proc, /sys, /dev e etc., porém ele continuava fazendo backup desses diretorios, que estavam na verdade em //proc //sys //dev e etc.

    Será que isso é um bug ou esta devidamente rugulamentado na FHS? :? :? :?

    Eu acho isso muito maluco, como pode? :lol:

  2. #2

    Padrão Re: diretorio maluco

    da um ls -lh //////////////
    ele vai continuar mostrando a raiz /

    deve ta faltando coisa no teu script



  3. #3
    pre-feit0
    Visitante

    Padrão Re: diretorio maluco

    dá um ls -ld //
    depois um ls -ls /
    ...
    Mas a firerença é:
    Código :
    Ó o script...

    Código :
    rsync --dry-run -avt --exclude "proc/" --exclude "dev/" --exclude "sys/" \
    --exclude "tmp/log/" --exclude "var/named/chroot/proc/" / /hdc 2> /tmo/log/err > /tmp/log/log

    Por enquanto estou fazendo dry-run antes de por em prática mesmo!
    Eu acho isso do mal.

    OBS: tira a \ do meu script... ta tudo na mesmo linha

  4. #4
    pre-feit0
    Visitante

    Padrão Re: diretorio maluco

    Vou aproveitar para por uma das msg de erro que dá:

    Código :
    file has vanished: "//proc/1850/exe"

    Como eu usei --exclude "proc/", eu entendo que não entendo mais nada! :cry: :-D

    Detalhe: de acordo com o man rsync / no final significa que a palavra se refere à um diretório.



  5. #5

    Padrão Re: diretorio maluco

    coloque --exclude /proc/

  6. #6
    pre-feit0
    Visitante

    Padrão Re: diretorio maluco

    Eu coloquei e melhorou...
    Outra coisa que eu fiz foi o seguinte. Eu queria que a lista fosse dinamica, então eu criei uma variavel com os dirs que eram para excluir
    Código :
    EXCLUDE="/proc /sys /dev"
    Depois eu fiz um for, que aninha em uma única linha
    Código :
    for EX in $EXCLUDE
    do
     # incluo o / no final
      EXCLUDEPATERN="$EXCLUDEPATERN --exclude \"$EX/\""
    done
    Se eu desse echo na $EXCLUDEPATERN dava isso
    Código :
    echo $EXCLUDEPATERN
    --exclude "/proc/" --exclude "/sys/" --exclude "/dev/"

    Eu achei que funcionava, porém... Não funfa naum. Testando, eu coloquei os comandos diretamente na linha do script e o comportamento foi outro...

    As vezes... agente tenta deixar o script mais modular possível, mas nem sempre isso é possível. Porque será que não funciona?

    Bom, menos modula, mais funfa. Famoso KISS :-o

    Mas que cd // é do mal, isso é! :lol:

    a linha ficou assim:
    Código :
    rsync -avt --exclude /hdc/ --exclude /proc/ --exclude /sys/ --exclude /dev/ --exclude /var/named/chroot/proc/ 
     --exclude \/ --exclude /selinux/ /. /hdc 2> $RSYNCLOGERR > $RSYNCLOG || erro 4

    OBS: "erro" é uma função no script que trata as msg de erro.