PDA

View Full Version : eseguire script all'avvio


kappa85
30-07-2007, 12:30
Ciao. Ho uno script contenuto nel file xxx.sh che vorrei eseguire all'avvio. Ho messo il file in /init.d, ma non funziona. Uso ubuntu 6.06. Cosa sbaglio?

Un'altra domanda.. esiste un programma equivalente a putty per collegarsi da win a un server linux?

vizzz
30-07-2007, 12:39
Ciao. Ho uno script contenuto nel file xxx.sh che vorrei eseguire all'avvio. Ho messo il file in /init.d, ma non funziona. Uso ubuntu 6.06. Cosa sbaglio?

Un'altra domanda.. esiste un programma equivalente a putty per collegarsi da win a un server linux?

metterlo in init.d non basta devi fare in modo che il sistema lo avvi:
http://ubuntu.wordpress.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

equivalente nel senso che sia un client ssh? o un altro tipo di protocollo?

kappa85
30-07-2007, 12:39
Esattamente, un client ssh.


Comunque ho fatto:

update-rc.d script.sh defaults

$chmod +x script.sh

E' sufficiente?

Altra domanda... questo funziona anche sui reboot?

vizzz
30-07-2007, 12:44
Esattamente, un client ssh.


Comunque ho fatto:

update-rc.d script.sh defaults

$chmod +x script.sh

E' sufficiente?

si penso di si, anche se in realtà non ho mai provato :D
per il client, molti si appoggiano ancora a putty, cosa non va bene di putty?
altrimenti:
http://www.symbolic.it/download/f-secure/ssh_client_win.html

kappa85
30-07-2007, 12:48
si penso di si, anche se in realtà non ho mai provato :D
per il client, molti si appoggiano ancora a putty, cosa non va bene di putty?
altrimenti:
http://www.symbolic.it/download/f-secure/ssh_client_win.html

Non mi sta simpatico :D

In ogni caso ho provato e non funziona, lo script sono sicuro che funziona perchè se lo lancio manualmente fa quello che deve :)

ilsensine
30-07-2007, 12:52
metterlo in init.d non basta devi fare in modo che il sistema lo avvi:
http://ubuntu.wordpress.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/

Deve anche essere scritto per supportare almeno le direttive "start" e "stop". E' così che viene invocato da init.

kappa85
30-07-2007, 12:54
Deve anche essere scritto per supportare almeno le direttive "start" e "stop". E' così che viene invocato da init.

e quindi? come lo faccio funzionare?

lo script è questo:

#! /bin/bash
x11vnc -passwd xxxxxx -many -display :0 -rfbport xxxx

vizzz
30-07-2007, 13:02
se vuoi un alternativa veloce, mettilo in rc.local e vivi felice

ilsensine
30-07-2007, 13:14
e quindi? come lo faccio funzionare?

Ti do uno skull per i sistemi debian-like (forse va bene anche su ubuntu):


#!/bin/bash

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting xyz..." ""
# Avviare qui il programma, ad es. con start-stop-daemon
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping xyz..." ""
# Arrestare qui il programma, ad es. con start-stop-daemon
log_end_msg $?
;;
restart)
"$0" stop
"$0" start
;;
*)
echo "Syntax: $0 start|stop|restart"
exit 1
;;
esac

exit 0

Nota che se il programma che devi lanciare è _bloccante_, puoi usare start-stop-daemon con l'opzione -b.

Vedi anche l'esempio /etc/init.d/skeleton

Main
30-07-2007, 13:41
Un'altra domanda.. esiste un programma equivalente a putty per collegarsi da win a un server linux?

Ti stra-consiglio CRT, logging, scripting e molto altro:
http://www.vandyke.com/products/crt/index.html

kappa85
01-08-2007, 11:58
Qualcuno mi ha dato questi consigli, ma non funzionano... mi dite perchè?

# Copiare lo script (myscript.sh) in /etc/init.d/
# Rendere lo script eseguibile (se non lo è): chmod +x /etc/init.d/myscript.sh
# Eseguire il comando sudo update-rc.d -f myscript.sh start 99 0 .

C'è un modo per vedere se e quali script sono caricati? Un log o

qualcosa di simile...

EDIT: ho capito il problema. Come posso far eseguire uno script in automatico all'avvio con privilegi di root?

Hackman
01-08-2007, 14:52
Un'altra domanda.. esiste un programma equivalente a putty per collegarsi da win a un server linux?

Prova anche poderosa.
http://en.poderosa.org/

kappa85
01-08-2007, 22:58
grazie per i consigli... mi aiutate per questo?



EDIT: ho capito il problema. Come posso far eseguire uno script in automatico all'avvio con privilegi di root?

vizzz
01-08-2007, 23:11
come ti ho consigliato post fa, potresti mettere il tuo comando in rc.local e verrà eseguito con privilegi di root all'avvio.

kappa85
02-08-2007, 08:18
come ti ho consigliato post fa, potresti mettere il tuo comando in rc.local e verrà eseguito con privilegi di root all'avvio.

l'avevo interpretata come soluzione sbrigativa e poco sicura, scusa
comunque ho provato e così va. grazie

vizzz
02-08-2007, 08:55
l'avevo interpretata come soluzione sbrigativa e poco sicura, scusa
comunque ho provato e così va. grazie

figurati :D è un po sbrigativa ma di solito funziona alla grande.
l'importante è che ora va :)