問題描述:
上傳oss雲存儲,無法成功,報錯:

針對中國時區,修改操作如下
1. 修改文件 /etc/sysconfig/clock內容: ZONE=Asia/Shanghai UTC=false ARC=false 2. (針對同步時區不成功,執行下面步驟就行!!!) rm -rf /etc/localtime ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
補充:
系統時間變化原因分析
Linux的時間有兩種,一是系統時間,另外是硬件時間(BIOS時間)。
系統每次啟動時會讀出BIOS時間,將之賦給系統時間。之后系統時間將獨立運行,而BIOS時間不會變化。
在BIOS時間中,有兩種表示形式。一種是以localtime表示的,一種是以UTC表示的。具體查看的方式可以通過hwclock –debug,該命令可以輸出當前硬件時間的表示形式。
下面例舉各種情況下系統時間的變化:
1.當hwclock設定為localtime,/etc/sysconf/clock 中的 UTC=true時,重啟后系統時間后相對於BIOS時間被提前8個小時。
2.當hwclock設定為localtime,/etc/sysconf/clock中的 UTC=false時,重啟后系統時間相對於BIOS時間沒有變化
3.當hwclock設定為UTC,/etc/sysconf/clock 中的 UTC=true時,重啟后系統時間后相對於BIOS時間無變化
4.當hwclock設定為UTC,/etc/sysconf/clock 中的 UTC=false時,重啟后系統時間后相對於BIOS時間被推后8個小時。
如下圖所示:
/etc/sysconf/clock中UTC=true
/etc/sysconf/clock中UTC=false
硬件時間 localtime
重啟后系統時間后相對於BIOS時間被提前8個小時
系統時間無變化
硬件時間 UTC
系統時間無變化
重啟后系統時間后相對於BIOS時間被推后8個小時
可見,當BIOS時間設置的類型和 /etc/sysconf/clock中的設置不一致時,就會導致系統啟動時的系統時間錯誤。
如果有腳本實現時間同步,但是系統啟動之后運行的。雖然時間同步可以將系統時間同步到正確時間,但是由於之前的系統時間錯誤設定,將會出現一個錯誤的時間間隔,這個時間間隔可能會對依賴系統時間的程序產生影響。
對策:出現這種問題的根本原因是硬件時間的類型和 /etc/sysconf/clock中的設置不一致。所以我們將在時間同步腳本中增加對硬件時間的同步,這樣可以解決這種問題。
注:
UTC時間:世界協調時間(Universal Time Coordinated,UTC) ,也就是0時區的時間
CST時間:CST China Standard Time UTC+8:00 中國沿海時間(北京時間),這是我們所屬時區的localtime。
2.關於時區的設置:
為保證時間的正確,應該把時區設置正確。設置正確僅是為了使得時間更好理解和其他方面的維護。
設置方法:
1. 手動設置時區:
例如:設置東八區的時間
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
編輯/etc/sysconfig/clock中 ZONE="Asia/Shanghai"
2. 使用圖形化命令設置
system-config-date (大部分情況僅限於RedHat和CentOS)或者使用 tzselect,按照命令提示進行即可。