LegacyTechops/slack/prod/tsys-base/scripts/postinstall
2019-04-21 23:02:43 -05:00

116 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
ISUCS="$(hostname |grep ucs -c)"
if [ $ISUCS -ne 0 ]; then
echo "Do not run this on ucs host. Exiting..."
exit 1
fi
########################################
#Common to all systems
########################################
#Fix timezone
unlink /etc/localtime
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
MGMT_INT=$(netstat -rn|grep 0.0.0.0|head -n1|awk '{print $NF}')
PFV_MGMT_IP=$(ifconfig $MGMT_INT|grep inet|grep 10.251 -c)
OVH_MGMT_IP=$(ifconfig $MGMT_INT|grep inet|grep 10.253 -c)
if [ $PFV_MGMT_IP -eq 1 ]; then
tsysSysLocation=pfv
fi
if [ $OVH_MGMT_IP -eq 1 ]; then
tsysSysLocation=ovh
fi
#######################################################################################################################################################
#Fixup the /etc/hosts file
#######################################################################################################################################################
if [ $PFV_MGMT_IP -eq 1 ]; then
#Static /etc/hosts bits
cat > /etc/hosts << HOSTFILESTATIC
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTFILESTATIC
#Dynamic /etc/hosts bits
cat >> /etc/hosts <<HOSTFILEDYNAMIC
127.0.1.1 $(hostname).pfv.turnsys.net $(hostname -s)
HOSTFILEDYNAMIC
fi
if [ $OVH_MGMT_IP -eq 1 ]; then
#Static /etc/hosts bits
cat > /etc/hosts << HOSTFILESTATIC
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
HOSTFILESTATIC
#Dynamic /etc/hosts bits
cat >> /etc/hosts <<HOSTFILEDYNAMIC
127.0.1.1 $(hostname).turnsys.net $(hostname -s)
HOSTFILEDYNAMIC
fi
#Step 1: Update the cache and apply all vendor patches
echo "Running apt-get update"
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes -o Dpkg::Options::="--force-confold" update
echo "Running apt-get dist-upgrade"
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes -o Dpkg::Options::="--force-confold" dist-upgrade
echo "Running apt-get upgrade"
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes -o Dpkg::Options::="--force-confold" upgrade
echo "Running apt-get purge"
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --purge -o Dpkg::Options::="--force-confold" autoremove --yes
#Step 2: Cleanup default cruft
echo "removing evil from the world, one nano install at a time"
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes --purge -o Dpkg::Options::="--force-confold" remove nano resolvconf openresolv
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes -o Dpkg::Options::="--force-confold" install git etckeeper
git config --global user.email "techops@turnsys.com"
git config --global user.name "Techops"
hostname -f > /etc/mailname
#Step 3: The usual suspects
export DEBIAN_FRONTEND="noninteractive" && apt-get -qq --yes -o Dpkg::Options::="--force-confold" install snmpd ncdu iftop nethogs screen acct tshark tcpdump glances dstat htop sysdig sysstat rsync clamav logwatch zsh sl postfix molly-guard mailutils ladvd auditd rkhunter rsyslog ngrep ntp nut-client lm-sensors zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl python-dnspython python-mysqldb libmnl
# download it - the directory 'netdata' will be created
cd /root
git clone https://github.com/netdata/netdata.git --depth=100
cd netdata
# run script with root privileges to build, install, start Netdata
./netdata-installer.sh -u --dont-wait --stable-channel
#Turn on process accounting
echo "Turning on process accounting..."
accton on
newaliases
slack tsys-$tsysSysLocation