Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: skycrow em 02 de Agosto de 2008, 10:08
-
Bom dia a todos!
Gostaria de ajuda de vocês, pois não sei o que está rolando de errado. Um amigo meu possui um pequeno servidor de Arquivos com o Xubuntu 6.06 e pediu pra eu fazer um Script de Backup para o Pend-drive dele. então bolei uma coisa supser simples:
# Apagar Arquivo de Backup Anterior
cd /home
rm -rf Bkp-*.tar.gz
# Criar Arquivo de Backup
data=`date +%d-%m-%Y-%H-%M`
tar -zcvf Bkp-$data.tar.gz /home/patricia /home/manuel /home/wania /home/muto /arquivos/publico
# Copiando Arquivo para o Pen-drive
mount /dev/sda1 /mnt/pendrive
rm -rf /mnt/pendrive/Bkp-*.tar.gz
cp Bkp-*.tar.gz /mnt/pendrive
umount /dev/sda1
Coloquei ele no /etc/crontab :
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
00 20 * * 1-5 root /scripts/backup.sh
#
Só que dá um pequeno problema. Quando ele vai criar o Arquivo tar.gz de backup ele só arquiva 21MB e para. Nunca cria o Arquivo inteiro. Se eu chamar o script na mão vai que é uma blz, mas no contrab não rola, e se eu colocar no crontab do usuário "crontab -e" que eu criei durante a instalação do ubuntu ele nem roda. Alguém teria alguma idéia? Desde já agradeço pessoal! abraços a todos.
-
Se eu chamar o script na mão vai que é uma blz, mas no contrab não rola, e se eu colocar no crontab do usuário "crontab -e" que eu criei durante a instalação do ubuntu ele nem roda. Alguém teria alguma idéia? Desde já agradeço pessoal! abraços a todos.
Bom para voce roda sem problemas e melhor usa o root(ate para montar particoes), mas tem que ter cuidado!!!!
Se o problema e roda ao inicializar(como root) tem um arquivo em /etc/rc.local , so coloca a linha de comando
como exemplo:
bash scriptbackup.sh & #so um & para deixar em segundo plano. assim n interompe a inicializacao do ubuntu
exit 0
Se quiser algo mais avancado por permisao de usuario, restricoes..... vai ter que estudar um pouco da arquitetura
que e as pastas /etc/rc.0 ... a ordem que os programas inicializacao no Linux, como drivers, programas, firewall.....
-
Boa tarde galera!
Então Sprit, o meu problema era com o Crontab, e como eu escrevi lá no outro post, o Script estava rodando com o usuário Root mesmo. É um Script que roda todos os dias, para fazer um Backup direto no Pendrive. De qualquer forma, acabei resolvendo do seguinte e estranho modo:
Antes tinha deixado a configuração do Crontab desse jeito : # /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
00 20 * * 1-5 root /scripts/backup.sh
#
Então Apenas acrescentei a opção para criar um Arquivo de Log, e pronto. o Script passou a funcionar direitinho, vai entender. Lembrando que eu uso o Xubuunto 6.06 LTS, ficou assim:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
00 20 * * 1-5 root /scripts/backup.sh > /scripts/Backup.log
#
Mesmo assim, obrigado pela força Sprit. Abraços!