Script na inicialização - Resolvido!!!

Iniciado por Eduardogc01, 30 de Setembro de 2010, 11:33

tópico anterior - próximo tópico

Eduardogc01

Olá para todos!!!!  ;D

estou tendo o seguinte problema:

coloco o script na pasta init.d
registro na inicialização: sudo update-rc.d nomescript defaults

o problema é que ele está sendo executado quando desligo o pc, porém ele devia ser executado quando ligo o pc. Sempre fiz dessa maneira, e em diversas máquinas e sempre deu certo, não sei pq agora aconteceu isso. Fiquei perdido.  :o

se alguém puder dar uma luz eu agradeceria muit!!

obrigado a todos!!!!
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501

zeroday

Eu acho que vc tem que por o script em rc.local .
"Lutar sempre , vencer na medida do possível , desistir jamais."

zekkerj

Poste as primeiras linhas do arquivo do script, é lá que ficam as instruções pro update-rc.d linkar com a inicialização e o encerramento.
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

libonati

Poste o script todo. Será mais fácil o fórum analizar o seu problema

Eduardogc01

#4
Desculpem a demora em responder
Segue o conteudo do script



#!/bin/bash

sudo rm -rf /home/info3

sudo rsync -azv /mnt/bkp/info3 /home/

sudo chmod -R 755 /home/info3

sudo chown -R info3 /home/info3






Estou usando o ubuntu server 10.0.4, com gnome instalado.
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501

libonati

Citação de: Eduardogc01 online 30 de Setembro de 2010, 11:33
coloco o script na pasta init.d
registro na inicialização: sudo update-rc.d nomescript defaults

Mude o nome do script. Talvez "defaults" por ser uma variável do sistema esteja confundindo.

Eduardogc01

libonati

coloquei o nome do script como "restaur"

o comando ficaria literalmente:

sudo update-rc.d restaur defaults

removi o link antigo e alterei o nome do arquivo para scprest
registrei novamente:

sudo update-rc.d scprest defaults


A saída foi a seguinte, a parte em negrito não havia aparecido antes:


update-rc.d: warning: /etc/init.d/scprest missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>

Adding system startup for /etc/init.d/scprest ...
   /etc/rc0.d/K20scprest -> ../init.d/scprest
   /etc/rc1.d/K20scprest -> ../init.d/scprest
   /etc/rc6.d/K20scprest -> ../init.d/scprest
   /etc/rc2.d/S20scprest -> ../init.d/scprest
   /etc/rc3.d/S20scprest -> ../init.d/scprest
   /etc/rc4.d/S20scprest -> ../init.d/scprest
   /etc/rc5.d/S20scprest -> ../init.d/scprest
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501

linuser104

#7
Já tentou fazer assim, criar um script com os comandos que deseja em /etc/init.d/ dar permissão de execução para ele com o comando sudo chmod +x /etc/init.d/nome_do_script e depois criar links que apontam para esse script nas seguintes pastas do sistema:


/etc/rc3.d/

/etc/rc4.d/

/etc/rc5.d/

/etc/rc6.d/

lembrando que o link deve começar seu nome com S98, por exemplo, se vc chamou o script em /etc/init.d de script então em cada um desses outros lugares deverá ter um link chamado de S98script apontando para o script em /etc/init.d

Só um detalhe, como esse script vai ser rodado como root não há necessidade do comando sudo na frente dos comandos do seu script ok.
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

libonati

sudo update-rc.d scprest defaults já aponta os links.
Confirma com e posta pra gente ver:
ls -l /etc/init.d/scprest

Sugiro apontar um link para um PATH

zekkerj

Citação de: Eduardogc01 online 01 de Outubro de 2010, 08:16
Desculpem a demora em responder
Segue o conteudo do script


#!/bin/bash

sudo rm -rf /home/info3

sudo rsync -azv /mnt/bkp/info3 /home/

sudo chmod -R 755 /home/info3

sudo chown -R info3 /home/info3


Estou usando o ubuntu server 10.0.4, com gnome instalado.
Seu script deveria reconhecer os parâmetros "start" e "stop" na linha de comandos, e assim atuar de forma diferente ao iniciar (nessa hora ele é chamado como "<script> start") e encerrar ("<script> stop").

Sugestão: deixe o script assim:

#!/bin/bash
function start()
{
sudo rm -rf /home/info3

sudo rsync -azv /mnt/bkp/info3 /home/

sudo chmod -R 755 /home/info3

sudo chown -R info3 /home/info3
}

case $1 in
start)
start
;;
*)
;;
esac


PS: Tem formas melhores de "congelar" o perfil.

Citação de: libonati online 01 de Outubro de 2010, 08:35
Citação de: Eduardogc01 online 30 de Setembro de 2010, 11:33
coloco o script na pasta init.d
registro na inicialização: sudo update-rc.d nomescript defaults

Mude o nome do script. Talvez "defaults" por ser uma variável do sistema esteja confundindo.
"defaults" não é o nome do script, é o parâmetro para o comando "update-rc.d"...
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

libonati

#10
Citação de: zekkerj online 01 de Outubro de 2010, 10:49
"defaults" não é o nome do script, é o parâmetro para o comando "update-rc.d"...
Eu sei disso amigo zekkerj. Quando li a primeira vez o nome do arquivo era defaults, acho que ele editou posteriormente a mensagem como mostra a próxima citação.
Citação de: Eduardogc01 online 01 de Outubro de 2010, 08:42
libonati
coloquei o nome do script como "restaur".....

Eduardogc01

libonati, a saida do "ls -l /etc/init.d/scprest"

-rwxr-xr-x 1 root root 392 2010-09-30 11:16 /etc/init.d/scprest


o que eu tenho a acrescentar é que eu sempre fiz dessa maneira que descrevi acima... a unica coisa que mudo foi que eu passei a usar a versão "server" ao invés da versão desktop.
Na versão server ele executa o script quando desligo o pc, e na versãp desktop quando ele inicia.

procurando em sites estrangeiros vi comentários de problemas da mesma natureza que o meu, mas não encontrei a solução

minha intenção é realmente congelar o perfil. desta maneira que tenho feito funciona perfeitmente (aliás, funcionava), por isso insisti nela..... quais seriam as outras maneiras de se congelar o perfil/?????
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501

irtigor

Tem um script chamado ofris que faz o que você quer de uma maneira não tão "pé na porta" (mas ainda com rsync).

Outra opção é congelar o sistema de arquivo. Tem um script pra isso nos repositórios, chama-se fsprotect.

Eduardogc01

não consegui instalar o ofris, nem o gofris nem o "pt-br", nem o "en". Dão erro todos....

logo que eu chegar no computador eu vou tentar o fsprotect


obrigado a todos pela ajuda que esta sendo dada!
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501

Eduardogc01

Bom... finalmente consegui resolver o problema.... ::)

No ubuntu desktop (9.10), para colocar o script na inicialização basta:

     sudo update-rc.d  NOMEDOSCRIPT defaults

No ubuntu server (10.4) o mesmo procedimento não deu certo, sendo que foi necessário utilizar da seguinte forma (atenção para não esquecer o ponto final):

     sudo update-rc.d NOMEDOSCRIPT start 99 2 3 4 5 .

O script passou a funcionar na inicialização do sistema e não no desligamento.

ps: tive que modificar os comandos do script para que ele funcionasse perfeitamente no server, porém este não é assunto dete tópico.  :)


Obrigado a todos pela colaboração.   :D
Sim, o ubuntu mudou minha vida virtual! =]
Linux user #533336 // Ubuntu User #33501