Készítettem egy pár soros scriptet, mely magában tökéletes. Viszont arra volna szükségem, hogy démonként fusson.
A script egyszerű:
#!/bin/bash
Uppp_path="/etc/sysconfig/network-scripts"
Uppp_config="ifcfg-ppp0"
Uppp_file="${Uppp_path}/${Uppp_config}"
if [ "$(pidof draknetcenter)" ]; then
sleep 10
if [ -f ${Uppp_file} ]; then
rm -f ${Uppp_file}
cp ${Uppp_path}/${Uppp_config}_backup ${Uppp_path}/${Uppp_config}
fi
fi
Erre sajnos azért van szükségem, mert a mobilnet minden esetben az ttyUSB0-n akar menni, és minden esetben újragenerálja az
/etc/sysconfig/network-scripts/ifcfg-ppp0 konfig fájlt a rossz modemport-tal. A jó amúgy a ttyUSB2.
Magát a netkapcsolatot a draknetcenter segítségével tudom elindítani. Ekkor generálja nekem az új konfig fájlt, amit én szépen szeretnék automatikusan felülírni. A script ezt már megoldja, de nem tudom hogy fusson a háttérben mindig.
Ha az /etc/rc.d/init.d/-be teszem és symlinkelem az 5-ös initbe az elég?
- 1383 megtekintés
Hozzászólások
Ez a script így összesen egyszer fog lefutni.
A helyedben az egészet betenném egy végtelen ciklusba, megfelelő sleep értékkel, hogy ne folyamatosan fusson. Így ha elindítod az init.d-vel akkor folyamatosan fut amíg ki nem kapcsolod a gépet.
Egyébként a cron-t pont ilyenekre találták ki.
ttp://wiki.hup.hu/index.php/Cron
- A hozzászóláshoz be kell jelentkezni
incron. olyan mint a cron, de csak egy figyelt mappa tartalmának változásakor fog lefutni (inotify kernel esemény alapján), és nem kell boot-kor indítani így a script-ed.
nem találom a manualban a példa incrontab fájlt, ezért beírom, kb ez:
install incron
incrontab -e
/etc/sysconfig/network-scripts/ IN_CLOSE_WRITE /root/script.sh "$@/$#"
a script megkapja paraméterként a megváltozott fájl nevét teljes elérési úttal.
- A hozzászóláshoz be kell jelentkezni
Ha így indítod mindig futni fog.
#!/bin/bash
Uppp_path="/etc/sysconfig/network-scripts"
Uppp_config="ifcfg-ppp0"
Uppp_file="${Uppp_path}/${Uppp_config}"
while true; do
if [ "$(pidof draknetcenter)" ]; then
sleep 10
if [ -f ${Uppp_file} ]; then
rm -f ${Uppp_file}
cp ${Uppp_path}/${Uppp_config}_backup ${Uppp_path}/${Uppp_config}
fi
fi
done
--
falura elmegy, városban meg úgy sem nézik...
- A hozzászóláshoz be kell jelentkezni
http://mmonit.com/monit/
ha eltekintesz a logika scriptben megvalositasatol, akkor monittal figyelheted a konfigfile valtozast, ujraindithatod a processzt, stb...
- A hozzászóláshoz be kell jelentkezni
Ne má! Nem hiszem, hogy ilyen randán kell megoldani. Readonly? Wvdial?
- A hozzászóláshoz be kell jelentkezni
Ez a fájl nem olyan hogy csak olvasható. De ha arra teszem, akkor is felülírja. Már próbáltam.
A wvdial-t meg a hátam, közepére kívánom.
Próbálkoztam vele, de soha nem tudtam neki megmondani hogy az eszköz a ttyUSB2-n van. Csak serial porttal volt hajlandó működni. Ne kérdezd miért.
A rendszer felismeri a sticket, még az usb_modeswitch sem kell neki. Mindössze annyi a baja hogy a legenerált ifcg-ppp0 fájlban a ttyUSB0-ra hivatkozik.
Az /usr/lib/libDrakX/network/connection/cellurar_card.pm-ben lehetne turkálni, de az nekem kicsit kínai, és tudnom kellene hogy melyik változó éppen mit takar.
Részlet:
sub get_control_device {
my ($self) = @_;
my $tty_device = $self->get_tty_device;
if ($tty_device eq "/dev/ttyUSB0") {
for my $id (2, 1) {
my $usb_control_device = "/dev/ttyUSB" . $id;
return $usb_control_device if -e $usb_control_device;
}
}
$tty_device;
}
Ha meg itt átírom ttyUSB2-re és kikommentezem a for my $id sort, akkor meg le sem generálja a konfig fájlt.
De most azért kipróbálom úgy hogy /dev/modem-et írok ide.
Igazából a probléma ott van, hogy nevesítik a ttyUSB0-t. Ha az lenne benne hogy modemport=modem, akkor sima ügy lenne, mert készítenék a dev-be egy symlinket.
- A hozzászóláshoz be kell jelentkezni
az én egyik 3G modem-em is 2-es id-t kapott és a wvdial-ben beállítva a megfelelő módon működött rendesen. esetleg a többi paraméterre figyelj.
- A hozzászóláshoz be kell jelentkezni
Érdemes a wvdial-al probálkozni mert elég megbízhatónak tapasztaltam. Nekem ez van:
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
Username = pannon
Password = pannon
Dial Command = ATDT
Baud = 9600
- A hozzászóláshoz be kell jelentkezni