Köra startup script på 150 rader.

Permalänk
Medlem

Köra startup script på 150 rader.

Har ett script på cirka 150 rader som jag vill köra i starten utav en VM jag har.

Det går att lägga i ~/.profile för att köras när man loggar in, men problemet blir då att när jag i slutet utav skriptet kör rm sciptet.sh så klagar den varje gång man loggar in att skriptet.sh saknas. Ingen snygg lösning alltså.

Det ultimata vore at lägga det precis i starten. Har provat med att lägga det i /etc/rc.local men jag tror inte att det går, då det är ett för långt script, samt att man som användare får frågor som måste besvaras för att kunna gå vidare.

Så min tanke är, kan jag göra såhär:

  1. Lägga det i ~/.profile

  2. rm scriptet.sh (i slutet utav scriptet.sh)

  3. Skriva en ny ~/.profile fil med ett annat script (som kan köras i slutet utav setupscriptet?), utan raden med scriptet

Det jag vill komma ifrån är att användaren själv måste skriva in scriptet, också för att säkerställa att scrptet körs i början då det ställer in ganksa mycket saker som är viktiga för VMen.

Här är ett litet utdrag:

#!/bin/bash # # Check if root if [ "$(whoami)" != "root" ]; then echo echo -e "\e[31mSorry, you are not root.\n\e[0mYou must type: \e[36msudo \e[0mbash /var/scripts/owncloud-startup-script.sh" echo exit 1 fi clear && echo "----------------------------------------------------------------------" echo "| This script will configure your ownCloud and activate SSL. |" echo "| It will also upgrade your system to the latest version. |" echo "| The script will take about 5 minutes to finish. |" echo "| |" echo "| ####################### Tech and Me - 2015 ####################### |" echo "----------------------------------------------------------------------" echo -e "\e[32m" read -p "Press any key to start the script..." -n1 -s clear && echo -e "\e[0m" # Activate self-signed SSL a2enmod ssl && a2dissite default-ssl && a2dissite 000-default.conf && a2ensite owncloud-self-signed-ssl.conf && service apache2 reload && # Install packages for Webmin apt-get install --force-yes -y zip perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python && # Install Webmin sed -i '$a deb http://download.webmin.com/download/repository sarge contrib' /etc/apt/sources.list && wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - && apt-get update && apt-get install --force-yes -y webmin && # System Upgrade apt-get update && aptitude full-upgrade -y &&

Tacksam för hjälp.

Visa signatur

Citera för svar

- Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
- Jobbar på: T&M Hansson IT AB https://www.hanssonit.se

Permalänk
Medlem

Hur välstädat måste det vara när scriptet har körts? Kan du inte bara

if [ -x ~/scriptet.sh ]; then ~/scriptet.sh fi

Permalänk
Medlem
Skrivet av Hieronymus Bosch:

Hur välstädat måste det vara när scriptet har körts? Kan du inte bara

if [ -x ~/scriptet.sh ]; then ~/scriptet.sh fi

Vart menar du att jag ska lägga det?

Behöver inte vara jättestädat, men fördel om det är så städat som möjligt.

Kör rm just nu som sagt.

Visa signatur

Citera för svar

- Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
- Jobbar på: T&M Hansson IT AB https://www.hanssonit.se

Permalänk
Medlem

I roots ~/.profile

Permalänk
Medlem
Skrivet av Hieronymus Bosch:

[SPOILER]Hur välstädat måste det vara när scriptet har körts? Kan du inte bara

if [ -x ~/scriptet.sh ]; then ~/scriptet.sh fi

Skrivet av Hieronymus Bosch:

I roots ~/.profile[/SPOILER]

Det verkar som att jag inte får felmeddelandet längre, tack!

Någon annan som har något tips?

EDIT: Jag kör på den lösningen, den funkar bra! Städat också.

Visa signatur

Citera för svar

- Stora Owncloud/Nextcloud-tråden: http://www.sweclockers.com/forum/122-server/1212245-officiell...
- Jobbar på: T&M Hansson IT AB https://www.hanssonit.se