#!/bin/bash # info: change system timezone # options: TIMEZONE # # The function for changing system timezone. #----------------------------------------------------------# # Variable&Function # #----------------------------------------------------------# # Argument definition timezone=$1 # Includes source $VESTA/func/main.sh source $VESTA/conf/vesta.conf is_timezone_valid() { if [ ! -e "/usr/share/zoneinfo/$timezone" ]; then echo "Error: tz file $timezone doesn't exist" log_event $E_NOTEXIST "$ARGUMENTS" exit $E_NOTEXIST fi } #----------------------------------------------------------# # Verifications # #----------------------------------------------------------# check_args '1' "$#" 'TIMEZONE' is_timezone_valid #----------------------------------------------------------# # Action # #----------------------------------------------------------# # Changing system timezone which timedatectls >/dev/null 2>&1 if [ "$?" -eq 0 ]; then timedatectl set-timezone $timezone else if [ -e "/etc/sysconfig/clock" ]; then sed -i "s/ZONE.*//" /etc/sysconfig/clock echo "ZONE=\"$timezone\"" >> /etc/sysconfig/clock fi if [ -e "/etc/timezone" ]; then echo "$timezone" > /etc/timezone fi rm -f /etc/localtime ln -sf /usr/share/zoneinfo/$timezone /etc/localtime fi # Chaning php timezone if [ ! -z "$WEB_SYSTEM" ]; then for conf in $(find /etc/php* -name php.ini); do sed -i "s|;date.timezone =|date.timezone =|" $conf sed -i "s|date.timezone =.*|date.timezone = $timezone|" $conf done fi #----------------------------------------------------------# # Vesta # #----------------------------------------------------------# # Logging log_event "$OK" "$ARGUMENTS" exit