| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/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
|