+ Responder ao Tópico



  1. #1
    richardbortolucci
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Pessoal tenho duas dúvidas:

    Estou criando um script e pretendo usar o ls -d, porém o mesmo não funciona, já testei em várias máquinas, inclusive distribuições diferentes. Alguém tem idéia?

    A segunda é referente a um script de backup (na realidade é só uma cópia de arquivos) que criei e que, acredito eu, não está executando um mount necessário para a cópia.

    Agradeço desde já,

    Richard.

  2. #2
    LenTu
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    qto ao mount...

    c consegue fazer manualmente normal ?

    c naum conseguir coloca o codigo aki pra gente v...

    :wink:



  3. #3
    richardbortolucci
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Manualmente funciona. Eis o script do backup:

    ===================
    #!/bin/bash
    umount /mnt/net
    smbmount //<ip>/c$ /mnt/net -o username=admin,password=
    cp /mnt/net/dados/*.* /share/bkp/
    ls -la /share/bkp >bkp.txt
    cat bkp.txt | mail -s "Backup" meu e-mail
    umount /mnt/net
    ===================

    Colei só a parte que acho que interessa... quando executo batch logado funciona normalmente.

    Quando a mesma é executada via cron os arquivos não são copiados, creio que o mapeamento não é feito.

    Com relação ao ls -d não especifiquei o não funcionamento do mesmo... quando executo ls -d o mesmo exibe apenas o . (ponto), quando deveria listar apenas os diretórios.

  4. #4
    icatorze
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Galera, eu fiz um esquema parecido com este com o rsync e ssh.
    Tem funcionado legal, coloquei o script pra funcionar no cron e ele gera um backup pra mim toda madrugada!!

    Se quiser o script que eu fiz... eu colo ele aqui!!!

    Pra ter uma ideia do que eu fiz:
    - coloquei o SSH da maquina que eu queria backapear, para fazer uma conexao sem senha com a maquina do backup, com aquele esquema da chave criptografada.
    - depois fiz o script que:
    --- pinga a maq do backup pra ver se esta on-line
    --- monta o disco maquina do backup
    --- rsync -a --delete -e ssh /diretorio [email protected]$IP_BCKUP:/mnt/discobackup/


    Quanto ao ls -d, naum funcionou aqui tbm!!!!!!!!!!1



  5. #5
    fricardo
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Seria bom vc postar sim pra gente aprender mais.

    fricardo

  6. #6
    richardbortolucci
    Visitante

    Padrão Consegui! em partes...

    A questão do ls -d está resolvida. Basta executar ls -d */ que funciona. Ele vai listar todos os diretórios presentes no diretório corrente.

    Com relação ao seu script icatorze, se possível coloque o mesmo pra gente/eu dar uma olhada.

    Obrigado!



  7. #7
    LenTu
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Boa ideia

  8. #8
    icatorze
    Visitante

    Padrão Duas dúvidas: ls -d e backup via cron

    Não sou um especialista em shell, mas este script estah rodando legal!!! Não mudei os IPs pois são da minha rede interna e jamais vc terão acesso a eles!!!

    Desculpas pela mensagem duplicada, coisas de browser!!



    #!/bin/sh
    #
    #sincr_backup.1.0
    #Script que iniciara e enviara os pacotes para
    #backup na maquina remoto, definida agora como
    #100.101.50.241
    #
    #Configuracao do host remoto
    #ip da maquina que recebe os backups
    IP_BCKUP=100.101.50.241
    #dispositivo (/dev/hd??) que recebe os backups
    DISP_BCKUP=/dev/hdb1
    #ponto de montagem do dispositivo
    MNT_POINT=/mnt/discobackup/
    ARQ_IDENT=.ident_dsk.txt
    #
    #
    #Checa se o host esta ligado
    /bin/ping -c 1 -W 2 $IP_BCKUP > /dev/null
    if [ "$?" -ne 0 ];
    then
    #Escreve o arquivo de log em /var/log/sincr_backup.log
    #Escreve a data e a hora
    date >> /var/log/sincr_backup.log
    #Se a conexao nao retornar o pinga ele avisa.
    echo Conexao ao host $IP_BCKUP falhou!!! >> /var/log/sincr_backup.log
    echo Nao foi possivel realizar o backup. >> /var/log/sincr_backup.log
    echo ----------------------------------- >> /var/log/sincr_backup.log
    #O script termina aqui.
    else
    #Se retornar o ping ...
    #Escreve o arquivo de log em /var/log/sincr_backup.log
    #Escreve a data e a hora
    date >> /var/log/sincr_backup.log
    #Pega a estampa de tempo inicial, em segundos desde 1-1-1970
    INI_TIME=`date +%s`
    #Avisa que o host esta funcionando
    echo O host $IP_BCKUP esta em pe!! >> /var/log/sincr_backup.log
    #Verifica se o disco de backup ja esta montado
    /usr/bin/ssh $IP_BCKUP /bin/mount | grep $DISP_BCKUP > /dev/null
    #monta o disco no ponto de montagem, se ja estiver montado, tudo bem
    if [ "$?" -ne 1 ];
    then
    echo O disco ja esta montado!!! >> /var/log/sincr_backup.log
    else
    echo Montando o disco $DISP_BCKUP em $MNT_POINT >> /var/log/sincr_backup.log
    /usr/bin/ssh $IP_BCKUP mount /dev/hdb1 /mnt/discobackup
    fi
    #Depois de montados
    #le o arquivo com a identificacao do disco
    /usr/bin/ssh $IP_BCKUP /bin/cat $MNT_POINT$ARQ_IDENT >> /var/log/sincr_backup.log
    echo Sincronizando discos ..... >> /var/log/sincr_backup.log
    #Inicia a sincronizacao pelo rsync
    rsync -a --delete -e ssh /home [email protected]$IP_BCKUP:/mnt/discobackup/
    #Pega a estampa de tempo final
    FIN_TIME=`date +%s`
    #Calcula o tempo para realizar o backup
    TOT_TIME=`expr $FIN_TIME - $INI_TIME`
    echo Levou $TOT_TIME segundos para terminar o backup! >> /var/log/sincr_backup.log
    echo ----------------------------------- >> /var/log/sincr_backup.log
    fi