Autor Tópico: cron.daily  (Lida 4768 vezes)

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
cron.daily
« Online: 16 de MAR?O de 2014, 10:44 »
Olá amigos.
Recentemente eu fiz um script de backup para o meu PC.
Este script faz o backup das pastas thunderbird e Documentos, como não importa o horário pois eu ligo o computador em horários diferentes então coloquei meu script na pasta cron.daily. Não está funcionando, se eu for executar o meu script manualmente ele funciona tranquilo, mas pelo cron.daily nada.
Para testar eu inseri o script na pasta cron.hourly, fiquei esperando matando o tempo jogando ;D, mas também não funcionou.
Reinicie o serviço do Cron e nada também.

Abaixo está meu script é bem simples:

Código: [Selecionar]
#!/bin/sh
tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log

O que poderia está acontecendo?

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.171
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re: cron.daily
« Resposta #1 Online: 16 de MAR?O de 2014, 13:05 »
Este script faz o backup das pastas thunderbird e Documentos, como não importa o horário pois eu ligo o computador em horários diferentes então coloquei meu script na pasta cron.daily.
Mesmo na pasta cron.daily o horário importa sim. O backup será feito diariamente no mesmo horário definido no arquivo /etc/crontab, se estava pra ser feito as 6:25 da manhã e o computador estava desligado a esta hora, só no próximo dia as 6:25.
A minha linha do /etc/crontab para backup diários esta assim:
Código: [Selecionar]
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )Só funciona as 6:25.
Não está funcionando, se eu for executar o meu script manualmente ele funciona tranquilo, mas pelo cron.daily nada.
Qual o comando que vc usa para ele funcionar manualmente?

Para testar eu inseri o script na pasta cron.hourly, fiquei esperando matando o tempo jogando ;D, mas também não funcionou.
Reinicie o serviço do Cron e nada também.
Na realidade vc não precisa inserir script nesta pasta. O interessante é vc criar um link simbólico para aonde está o script.
Ou criar um crontab para o usuário com o comando "crontab -e", vai abrir o arquivo do usuário se existir, ou um arquivo de exemplo que se vc editar e salvar, passa a ser o arquivo do usuário.
O arquivo criado é salvo na pasta /var/spool/cron/crontabs.
Vc não precisa criar um script é só colocar o comando desejado no fim do script de exemplo.
A linha abaixo vai salvar todos os dias as 5 horas.
Código: [Selecionar]
0 5 * * * tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log
Abaixo está meu script é bem simples:

Código: [Selecionar]
#!/bin/sh
tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log

O que poderia está acontecendo?
Como já foi dito não crie um script só pra isto. Com o comando "crontab -e", vc cria um script do cron para o usuário. É só colocar o comando nele informando o minuto, hora, dia, mês seguido do comando.
« Última modificação: 16 de MAR?O de 2014, 13:13 por selvaking »
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: cron.daily
« Resposta #2 Online: 16 de MAR?O de 2014, 16:53 »
Fala ai cara.
Eu fiz o que vc sugeriu inseri a seguinte linha no crontab:
Código: [Selecionar]
45 16 * * * neto   tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log
Mas o esquisito é que não está funcionando, usei esse horário para testar.
Olhei no log e veja... não aconteceu nada.
Código: [Selecionar]
/neto/08E0-D478/Backup\ Neto$(date +)
Mar 16 16:45:01 neto-M61PME-S2P CRON[2686]: (CRON) info (No MTA installed, discarding output)
Mar 16 16:45:26 neto-M61PME-S2P dbus[590]: [system] Activating service name='org.freedesktop.hostname1' (using servicehelper)
Mar 16 16:45:26 neto-M61PME-S2P dbus[590]: [system] Successfully activated service 'org.freedesktop.hostname1'
Mar 16 16:46:52 neto-M61PME-S2P kernel: [  863.527161] usb 2-2: reset high-speed USB device number 2 using ehci-pci
Mar 16 16:49:51 neto-M61PME-S2P whoopsie[1035]: online
Esquisito isso, antes o cron estava funcionando normalmente tive que reinstalar o ubuntu e esqueci de fazer o bkp do cron.

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.171
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re: cron.daily
« Resposta #3 Online: 16 de MAR?O de 2014, 17:28 »
Fala ai cara.
Eu fiz o que vc sugeriu inseri a seguinte linha no crontab:
Código: [Selecionar]
45 16 * * * neto   tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log
Mas o esquisito é que não está funcionando, usei esse horário para testar.
Olhei no log e veja... não aconteceu nada.
Citar
/neto/08E0-D478/Backup\ Neto$(date +)
Mar 16 16:45:01 neto-M61PME-S2P CRON[2686]: (CRON) info (No MTA installed, discarding output)
Mar 16 16:45:26 neto-M61PME-S2P dbus[590]: [system] Activating service name='org.freedesktop.hostname1' (using servicehelper)
Mar 16 16:45:26 neto-M61PME-S2P dbus[590]: [system] Successfully activated service 'org.freedesktop.hostname1'
Mar 16 16:46:52 neto-M61PME-S2P kernel: [  863.527161] usb 2-2: reset high-speed USB device number 2 using ehci-pci
Mar 16 16:49:51 neto-M61PME-S2P whoopsie[1035]: online
Pelo menos ele tentou e postou uma informação. Veja!
Esquisito isso, antes o cron estava funcionando normalmente tive que reinstalar o ubuntu e esqueci de fazer o bkp do cron.
A sua linha do thunderbird está correta? thunderbird não é uma pasta oculta. Tem um ponto na frente assim: ".thunderbird"
refaça o seu crontab do usuário. assim:
Código: [Selecionar]
45 17 * * * neto   tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/Documentos  >> /home/neto/bkp.log

Veja se funciona sem a linha do thunderbird.
« Última modificação: 16 de MAR?O de 2014, 17:34 por selvaking »
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: cron.daily
« Resposta #4 Online: 16 de MAR?O de 2014, 17:35 »
Minha pasta thunderbird não é oculta, quando eu restaurei o bkp eu esqueci de colocar a mesma oculta ai eu deixei rsrs.
O esquisito é que mesmo se não o tar não identifica se a pasta, era para gerar no log.
Eu fiz o seguinte ainda agora... eu inseri a linha no crontab como root, o syslog execulta mas não acontece nada. Nem o log ele gera.
Veja:

Código: [Selecionar]
Mar 16 17:24:06 neto-M61PME-S2P crontab[3663]: (root) BEGIN EDIT (root)
Mar 16 17:25:08 neto-M61PME-S2P crontab[3663]: (root) REPLACE (root)
Mar 16 17:25:08 neto-M61PME-S2P crontab[3663]: (root) END EDIT (root)
Mar 16 17:26:01 neto-M61PME-S2P cron[3068]: (root) RELOAD (crontabs/root)
Mar 16 17:28:01 neto-M61PME-S2P CRON[3677]: (root) CMD (neto  tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +)
Mar 16 17:28:01 neto-M61PME-S2P CRON[3676]: (CRON) info (No MTA installed, discarding output)


Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.171
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re: cron.daily
« Resposta #5 Online: 16 de MAR?O de 2014, 17:52 »
Coloque a saida deste comando:
Código: [Selecionar]
ls -lhF /home/neto/thunder*
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: cron.daily
« Resposta #6 Online: 16 de MAR?O de 2014, 17:54 »
Código: [Selecionar]
Crash Reports/
o660awxe.default/
profiles.ini

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.171
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re: cron.daily
« Resposta #7 Online: 16 de MAR?O de 2014, 18:36 »
não resolveu muito. Queria saber quem é o dono da pasta thunderbird.

Código: [Selecionar]
ls -lhF /home/neto/

No crontab do usuário não é preciso colocar usuário que vai executar o comando.
Citar
45 16 * * * neto   tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log

Coloca sem o neto, assim:
Citar
45 16 * * * tar -cvvzf /media/neto/08E0-D478/Backup\ Neto$(date +%Y_%m_%d).tar.gz /home/neto/thunderbird /home/neto/Documentos  >> /home/neto/bkp.log

Acho que o problema está na parte em negrito. Se não estou enganado quando vc utiliza o comando no terminal com um simbolo de percetagem só funciona, já num script bash vc tem que dobrar.

Vou ter de consultar os pergaminhos. Se alguém souber de bate-pronto é só dizer pra ele. Estou saindo agora pra pegar um cineminha.

Mas tenta colocar um nome pro arquivo sem variável, se o CRON fizer o backup é PQ o problema era isto e depois pensamos como fazer isto.
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.735
  • Gratidão gera gratidão, lamúria atrai lamúria...
    • Ver perfil
    • Blog do Zekke
Re: cron.daily
« Resposta #8 Online: 16 de MAR?O de 2014, 19:14 »
Opa, blz?
Seguinte, sempre que vc for executar alguma coisa pelo cron, verifique 3 vezes pra confirmar que você não dependa de nada do seu ambiente --- nem do $PATH. Ou seja, sempre use os comandos com o caminho completo.

Sobre a dúvida do selvaking ("Queria saber quem é o dono da pasta thunderbird.") o melhor comando pra isso é o "namei". tipo,

namei -m /home/neto/thunderbird
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: cron.daily
« Resposta #9 Online: 16 de MAR?O de 2014, 23:06 »
Sou o único usuário do PC.
Inseri a seguinte linha no crontab do meu usuário:
Código: [Selecionar]
50 22 * * * tar -cvvzf /media/neto/08E0-D478/Backup.tar.gz /home/neto/thunderbird /home/neto/Documentos /home/neto/Downloads /home/neto/Músicas  >> /bkp.log
Estou fazendo uma especie de backup incremental, envies de criar várias versões de backup.
Estou redefinindo o nome do arquivo tar.gz para Backup e mesmo assim ainda não está funcionando.
Veja como está o meu Crontab:
Código: [Selecionar]
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
50 22 * * * tar -cvvzf /media/neto/08E0-D478/Backup.tar.gz /home/neto/thunderbird /home/neto/Documentos /home/neto/Downloads /home/neto/Músicas  >> /bkp.log
neto@neto-M61PME-S2P:~$ crontab -e
crontab: installing new crontab
neto@neto-M61PME-S2P:~$ crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
04 23 * * * tar -cvvzf /media/neto/08E0-D478/Backup.tar.gz /home/neto/thunderbird /home/neto/Documentos /home/neto/Downloads /home/neto/Músicas  >> /bkp.log
Eu nunca tive problema com isso não entendo o porque não está funcionando, acho que estou esquecendo alguma coisa.

Offline alairamaral

  • Usuário Ubuntu
  • *
  • Mensagens: 49
    • Ver perfil
Re: cron.daily
« Resposta #10 Online: 16 de MAR?O de 2014, 23:26 »
Amigos matei o problema, foi falta de atenção minha:
Veja:

Código: [Selecionar]
50 22 * * * tar -cvvzf /media/neto/08E0-D478/Backup.tar.gz /home/neto/thunderbird /home/neto/Documentos /home/neto/Downloads /home/neto/Músicas  >> [b]/bkp.log[/b]Era isso que estava causando erro. :D
Valeu pela força pessoal.

Offline selvaking

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 1.171
  • Parque Anchieta - Rio de Janeiro - RJ
    • Ver perfil
Re: cron.daily
« Resposta #11 Online: 17 de MAR?O de 2014, 17:54 »
Sobre a dúvida do selvaking ("Queria saber quem é o dono da pasta thunderbird.") o melhor comando pra isso é o "namei". tipo,

namei -m /home/neto/thunderbird

Blz Oráculo!

Nunca tinha usado este comando.
Vivendo e aprendendo!
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049