Ronalds Ierakstīts Oktobris 20, 2013 Share Ierakstīts Oktobris 20, 2013 (labots) Dota kaste ar Oracle Vmbox virtuālajām mašīnam Vajag lai viņas automātiski palaižas ieslēdzot dzelzi un saglabā stāvokli to izslēdzot.Tika uzrakstīts skripts #! /bin/sh # /etc/init.d/vm_start # ### BEGIN INIT INFO # Provides: VMs # Required-Start: $local_fs $remote_fs $network vboxdrv vboxautostart-service # Should-Start: # Should-Stop: # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # X-Interactive: true # Short-Description: virtual box # Description: Start the virtual box ### END INIT INFO LOG=/var/log/vm_start.log # Carry out specific functions when asked to by the system case "$1" in start) echo `date` "Starting VMs " | tee -a $LOG modprobe ppdev chmod 666 /dev/parport0 rmmod lp sudo -u virtual /usr/bin/VBoxManage startvm www --type headless 2>&1 | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage startvm Likumi --type headless 2>&1 | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage startvm Finanses --type headless 2>&1 | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage startvm Server --type headless 2>&1 | tee -a $LOG ;; stop) echo `date` echo "Stopping VMs" | tee -a $LOG echo "Stopping www" | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage controlvm www savestate 2>&1 | tee -a $LOG echo "Stopping Likumi" | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage controlvm Likumi savestate 2>&1 | tee -a $LOG echo "Stopping Finanses" | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage controlvm Finanses savestate 2>&1 | tee -a $LOG echo "Stopping Server" | tee -a $LOG sudo -u virtual /usr/bin/VBoxManage controlvm Server savestate 2>&1 | tee -a $LOG ;; *) echo "Usage: /etc/init.d/vm_start {start|stop}" exit 1 ;; esac exit 0 Saglabāts zem /etc/init.d/vm_startPievienots ar komandu update-rc.d vm_start defaultsJa skriptu laižu ar roku no komandrindas viss notiek - gan apstājas mašīnas, gan palaižas.Bet kad mēģinu restartēt serveri nekā... Skripts sāk strādāt, bet viņam nesanāk saglabāt mašīnu stāvokli - ir tāda sajūta ka pie shutdowna skripti izpildās paralēli un tiek kaut kas virtualbox vajadzīgs apstādināts pirms manējais skripts ir nostrādājis. Iespējams ka tiek nokauti virtuālo mašinu procesi. Izraku internetu krustu šķērsu bet neatradu kā sakanofigurēt tā lai sākumā izpildītos "vm_start stop", tiktu sagaidīts lai viņš pabaidzas un tikai tad pārējie shutdown skripti pildītos. Labots Oktobris 20, 2013 - ronalds_ Link to comment Share on other sites More sharing options...
MIGs Oktobris 20, 2013 Share Oktobris 20, 2013 * Liec lai skripts pārbauda vai VM ir nostopējies un tikai tad iet tālāk. Pārbaudi vai ir tādi procesi. * Liec pauzi uz kādu laiku. Saprotu, ka šie 4 shutdown ieraksti izpildās paralēli un viens uz otru negaida kad tie pabeigsies ?! :? Link to comment Share on other sites More sharing options...
ImissimI Oktobris 20, 2013 Share Oktobris 20, 2013 https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot https://wiki.debian.org/LSBInitScripts Šitos jau izrakāji, ja? Reku šādu atradu, mož noder: http://www.novell.com/support/kb/doc.php?id=7002295 Good luck: Under the LSB (Linux Standards Base), the start and stop order of services is controlled using the "insserv" package. This idiosyncrasy of Linux has the distinct advantage of providing a faster boot time, but does make things a little more complex. Link to comment Share on other sites More sharing options...
Ronalds Oktobris 20, 2013 Author Share Oktobris 20, 2013 ImissimI, paldies par linkiem - palīdzēja! Kaut ko līdzīgu biju atradis, bet nebiju atradis komandas: /usr/share/insserv/check-initd-order -g > boot.dot/usr/share/insserv/check-initd-order -g -k > reboot.dotdotty boot.dotdotty reboot.dot Viņas zīmē grafu, kurš parāda kādā secībā startēsies un tiks apstādinātas servises. Izpētot grafu atklāju ka gan manai, gan galvenais, oracle servisam vboxdrv nav norādīts nekas pie Required-Stop. Ierakstot tur $remote_fs viss notikās. Link to comment Share on other sites More sharing options...
ImissimI Oktobris 20, 2013 Share Oktobris 20, 2013 Nice. Prieks, ka palīdzēja. Draņķīgi vienīgi, ka nācās rediģēt citus init skriptus vēl bez savējā - pie updeitiem var atkal ķēpa sanākt. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!