Files
build.ems/extra/tools/changeTimeZone
2024-10-19 16:29:21 +08:00

60 lines
1.4 KiB
Bash

#!/bin/bash
if [ `whoami` != "root" ] ;then
echo "Permission denied.Only root can execute the script"
exit
fi
echo "Change the timezone of the system will restart the httpd, mysql and omcd. Are you sure to continue?(y/n)"
read response
if [ "$response" != "y" ] ;then
exit
fi
echo "Please input the timezone(Asia/Shanghai or GMT for example):"
read timezone
if [ -e /usr/share/zoneinfo/$timezone ] ;then
if [ "${timezone}xxxx" = "xxxx" ] ;then
echo "Input invalid."
exit
fi
echo "Change the timezone to $timezone"
else
echo "The timezone[$timezone] does not exist"
exit
fi
if [ -e /etc/php.ini ] ;then
sed "/date.timezone/d" /etc/php.ini > /tmp/php.ini
sed -e "/Date/a date.timezone = ${timezone}" /tmp/php.ini > /tmp/php_bak.ini
rm -rf /tmp/php.ini
cp -f /tmp/php_bak.ini /etc/php.ini
chmod 755 /etc/php.ini
rm -rf /tmp/php_bak.ini
else
sed "/date.timezone/d" /usr/local/lib/php.ini > /tmp/php.ini
sed -e "/Date/a date.timezone = ${timezone}" /tmp/php.ini > /tmp/php_bak.ini
rm -rf /tmp/php.ini
cp -f /tmp/php_bak.ini /usr/local/lib/php.ini
chmod 755 /usr/local/lib/php.ini
rm -rf /tmp/php_bak.ini
fi
ln -sf /usr/share/zoneinfo/$timezone /etc/localtime
echo "ZONE=$timezone" > /etc/sysconfig/clock
echo "UTC=true" >> /etc/sysconfig/clock
echo "ARC=false" >> /etc/sysconfig/clock
omcd stop
httpd restart
mysql restart
omcd start
echo "Finish to change the timezone to [$timezone]."