O rc.local no Ubuntu 11.10 não funciona

Iniciado por news_js, 19 de Fevereiro de 2012, 19:36

tópico anterior - próximo tópico

news_js

Olá!

Até agora eu tinha um comando no /etc/rc.local que, após cada arranque, colocava um perfil limpo do utilizador.

Conteúdo do /etc/rc.local :


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/bin/rsync -a --delete /root/utilizador/ /home/utilizador/

exit 0


Acontece que no Ubuntu 11.10 o rc.local não é executado a cada arranque. Tentei então criar um script utilizador.sh que coloquei dentro da pasta /etc/init:


#!/bin/bash
/usr/bin/rsync -a --delete /root/utilizador/ /home/utilizador/


Mas também não funciona. O script está correto, pois se fizer, dentro da pasta, sudo ./utilizador.sh, o script é executado e faz o que devia fazer. O problema é que não é executado durante o arranque. Alguma sugestão? Obrigado.

news_js

Bom, creio que já consegui. Depois de pesquisar um bocado, acabei por criar em /etc/init o ficheiro utilizador.conf com o seguinte código:


start on started dbus
stop on stopping dbus
script
/usr/bin/rsync -a --delete /root/utilizador/ /home/utilizador/
end script


Está bem assim ou devo introduzir alguma alteração? É que eu percebo muito pouco de Linux. O ficheiro acima foi criado alterando exemplos que encontrei na Internet.

fpissarra

Do meu lado, prefiro usar o script update-rc.d:

Colocaria o script em /etc/init.d/ sob o nome 'myupdate', sem a extensão .sh, e depois faria:

$ sudo update-rc.d myupdate defaults