#!/bin/bash # DIRECTORY FROM WHICH THIS SCRIPT SHOULD RUN HOME="/home/user_name/scripts" # LIST ALL STARTUP PROGRAMS HERE function STARTUP_PROGRAMS() { $HOME/refresh_tomboy_ssh & $HOME/refresh_conky & } # CREATE CONKY START SCRIPT echo "conky &" > $HOME/refresh_conky sudo chmod 777 $HOME/refresh_conky # CREATE TOMBOY STARTUP SCRIPT #THIS UNMOUNTS AND THEN REMOUNTS A SSHFS CONNECTION FOR TOMBOY TO SYNC HOME WITH echo "#/bin/bash" > $HOME/refresh_tomboy_ssh echo "fusermount -u $HOME/tomboy" >> $HOME/refresh_tomboy_ssh echo "sleep 2" >> $HOME/refresh_tomboy_ssh echo "sshfs home: $HOME/tomboy" >> $HOME/refresh_tomboy_ssh sudo chmod 777 $HOME/refresh_tomboy_ssh #GENERAL UBUNTU SYSTEM UPGRADE function UPDATE_SYSTEM() { sudo apt-get update sudo apt-get upgrade } # SYNC THIS CLIENT TO A MASTER MYSQL SERVER function MYSQL_SLAVE() { clear echo "slave start;" > $HOME/.mysql_slave_start echo "slave stop;" > $HOME/.mysql_slave_stop echo "show slave status\G" > $HOME/.mysql_slave_state rsh home scripts/show_master_status echo "What is the Master DB's Position?" read position echo "What is the Master DB's File Number?" read filenum mysql -uMYSQL_USER -pUSER_PASS < $HOME/.mysql_slave_stop echo "CHANGE MASTER TO MASTER_HOST='HOST_NAME', MASTER_USER='USER_slave', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.$filenum', MASTER_LOG_POS=$position;" > $HOME/.mysql_set_master mysql -uMYSQL_USER -pUSER_PASS < $HOME/.mysql_set_master mysql -uMYSQL_USER -pUSER_PASS < $HOME/.mysql_slave_start echo "please wait" sleep 3 mysql -uMYSQL_USER -pUSER_PASS < $HOME/.mysql_slave_state rm -rf $HOME/.mysql_slave_state rm -rf $HOME/.mysql_slave_start rm -rf $HOME/.mysql_slave_stop rm -rf $HOME/.mysql_set_master } # SETUP ETH0 function SET_ETH() { clear echo "Setup eth0" echo "Work (No Gateway) [w]" echo "Home (No Gateway) [h]" echo "Work (With Gateway) [W]" echo "Home (With Gateway) [H]" echo "DHCP [D]" read wh if [ "$wh" = "w" ] then echo "auto lo" > $HOME/.iface echo "iface lo inet loopback" >> $HOME/.iface echo "auto eth0" >> $HOME/.iface echo "iface eth0 inet static" >> $HOME/.iface echo "address 10.1.1.222" >> $HOME/.iface echo "netmask 255.255.255.0" >> $HOME/.iface elif [ "$wh" = "h" ] then echo "auto lo" > $HOME/.iface echo "iface lo inet loopback" >> $HOME/.iface echo "auto eth0" >> $HOME/.iface echo "iface eth0 inet static" >> $HOME/.iface echo "address 192.168.1.222" >> $HOME/.iface echo "netmask 255.255.255.0" >> $HOME/.iface elif [ "$wh" = "W" ] then echo "auto lo" > $HOME/.iface echo "iface lo inet loopback" >> $HOME/.iface echo "auto eth0" >> $HOME/.iface echo "iface eth0 inet static" >> $HOME/.iface echo "address 10.1.1.222" >> $HOME/.iface echo "netmask 255.255.255.0" >> $HOME/.iface echo "gateway 10.1.1.1" >> $HOME/.iface elif [ "$wh" = "H" ] then echo "auto lo" > $HOME/.iface echo "iface lo inet loopback" >> $HOME/.iface echo "auto eth0" >> $HOME/.iface echo "iface eth0 inet static" >> $HOME/.iface echo "address 192.168.1.222" >> $HOME/.iface echo "netmask 255.255.255.0" >> $HOME/.iface echo "gateway 192.168.1.1" >> $HOME/.iface elif [ "$wh" = "D" ] then echo "auto lo" > $HOME/.iface echo "iface lo inet loopback" >> $HOME/.iface echo "auto eth0" >> $HOME/.iface echo "iface eth0 inet dynamic" >> $HOME/.iface fi sudo mv $HOME/.iface /etc/network/interfaces sudo /etc/init.d/networking restart } # SERVICES WHICH ARE TO START function SERVICES() { sudo /etc/init.d/mysql start sudo /etc/init.d/mysql-ndb start sudo /etc/init.d/mysql-ndb-mgm start MYSQL_SLAVE sudo /etc/init.d/apache2 start sudo /etc/init.d/ssh start sudo /etc/init.d/samba start sudo /etc/init.d/vsftpd start } # SYNC TO A HOME SERVER function SYNC_HOME() { if [ ! -d ~/backup_to_home ] then mkdir ~/backup_to_home fi # get any new data from remote server rsync -avz -e ssh USER@home:/home/USER/backup_to_home/ ~/backup_to_home/ # copy any data to remote server rsync -avz -e ssh ~/backup_to_home USER@home:/home/USER } #SETUP SYSTEM ENVIRONMENT ##### MUST BE RUN AFTER SYNC TO HOME SERVER ############### function SETUP_SYSTEM() { if [ -e ~/backup_to_home/bashrc ] then echo "alias l='ls -lah'" >> ~/backup_to_home/bashrc echo "alias vi='vim'" >> ~/backup_to_home/bashrc echo "PATH=~/scripts:\"${PATH}\"" >> ~/backup_to_home/bashrc mv ~/backup_to_home/bashrc ~/.bashrc sudo chmod 0644 ~/.bashrc sudo chown USER.USER ~/.bashrc fi if [ -e ~/backup_to_home/crontab ] then # add cronjobs here echo "0 9,12,4 * * * USER /home/USER/scripts/backup" >> ~/backup_to_home/crontab sudo mv ~/backup_to_home/crontab /etc/crontab sudo chmod 0644 /etc/crontab sudo chown root.root /etc/crontab sudo crontab /etc/crontab fi } echo "Start Everything [y,n]" read everything if [ "$everything" = "y" ] then SET_ETH SERVICES SYNC_HOME UPDATE_SYSTEM SETUP_SYSTEM STARTUP_PROGRAMS else echo "use eth0 [y,n]" read useeth0 if [ "$useeth0" = "y" ] then SET_ETH fi echo "Start Services [y,n]" read lamp if [ "$lamp" = "y" ] then SERVICES fi echo "Update System [y,n]" read upsys if [ "$upsys" = "y" ] then UPDATE_SYSTEM fi echo "Sync to Home [y,n]" read synchome if [ "$synchome" = "y" ] then SYNC_HOME fi echo "Setup System Environment [y,n]" read sysenv if [ "$sysenv" = "y" ] then SETUP_SYSTEM fi echo "Run Startup Programs [y,n]" read startprogs if [ "$startprogs" = "y" ] then STARTUP_PROGRAMS fi fi