influxdb/scripts/post-install.sh

99 lines
2.7 KiB
Bash

#!/bin/bash
BIN_DIR=/usr/bin
DATA_DIR=/var/lib/influxdb
LOG_DIR=/var/log/influxdb
SCRIPT_DIR=/usr/lib/influxdb/scripts
LOGROTATE_DIR=/etc/logrotate.d
function install_init {
cp -f $SCRIPT_DIR/init.sh /etc/init.d/influxdb
chmod +x /etc/init.d/influxdb
}
function install_systemd {
cp -f $SCRIPT_DIR/influxdb.service /lib/systemd/system/influxdb.service
systemctl enable influxdb
}
function install_update_rcd {
update-rc.d influxdb defaults
}
function install_chkconfig {
chkconfig --add influxdb
}
# Add defaults file, if it doesn't exist
if [[ ! -f /etc/default/influxdb ]]; then
touch /etc/default/influxdb
fi
# Remove legacy symlink, if it exists
if [[ -L /etc/init.d/influxdb ]]; then
rm -f /etc/init.d/influxdb
fi
# Distribution-specific logic
if [[ -f /etc/redhat-release ]]; then
# RHEL-variant logic
if command -v systemctl &>/dev/null; then
install_systemd
else
# Assuming sysv
install_init
install_chkconfig
fi
elif [[ -f /etc/debian_version ]]; then
# Ownership for RH-based platforms is set in build.py via the `rmp-attr` option.
# We perform ownership change only for Debian-based systems.
# Moving these lines out of this if statement would make `rmp -V` fail after installation.
chown -R -L influxdb:influxdb $LOG_DIR
chown -R -L influxdb:influxdb $DATA_DIR
chmod 755 $LOG_DIR
chmod 755 $DATA_DIR
# Debian/Ubuntu logic
if command -v systemctl &>/dev/null; then
install_systemd
else
# Assuming sysv
install_init
install_update_rcd
fi
elif [[ -f /etc/os-release ]]; then
source /etc/os-release
if [[ "$NAME" = "Amazon Linux" ]]; then
# Amazon Linux 2+ logic
install_systemd
elif [[ "$NAME" = "Amazon Linux AMI" ]]; then
# Amazon Linux logic
install_init
install_chkconfig
fi
fi
# Upgrade notice
cat << EOF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Important 1.x to 2.x Upgrade Notice !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Thank you for installing InfluxDB v2. Due to significant changes between
the v1 and v2 versions, upgrading to v2 requires additional steps. If
upgrading to v2 was not intended, please simply re-install the v1 package now.
Please review the complete upgrade procedure:
https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/
Minimally, the following steps will be necessary:
* Make a copy of all underlying v1 data (typically under /var/lib/influxdb)
* Run the 'influxd upgrade' command
* Follow the prompts to complete the upgrade process
For new or upgrade installations, please also review the getting started guide:
https://docs.influxdata.com/influxdb/v2.0/get-started/
EOF