2
我想以後修改系統時間爲兩天,但我只是覺得,我可以在Solaris中date
命令的時間設定爲一個特定的時間:如何在Solaris中使用shell腳本將當前時間設置爲2天后?
#date mmddhhmmYY
,但不能對當前加2天時間。使用shell命令執行此任務有沒有簡單的方法?如果你在linux中知道類似的東西,也請與我分享一下。
我想以後修改系統時間爲兩天,但我只是覺得,我可以在Solaris中date
命令的時間設定爲一個特定的時間:如何在Solaris中使用shell腳本將當前時間設置爲2天后?
#date mmddhhmmYY
,但不能對當前加2天時間。使用shell命令執行此任務有沒有簡單的方法?如果你在linux中知道類似的東西,也請與我分享一下。
Solaris date支持逐漸調整時間的語法。這可能是你最好的選擇。
date -a $((48 * 60 * 60 * 60))
應該最終更新您的日期提前兩天。這是設置系統時間的最好方法,因爲它會逐漸更新,而不是突然跳躍(這可能會導致一堆正在運行的程序)。除了這個,你可以寫出一個很好的腳本,它知道一個月中的日子和閏年,並自己做計算。如果你非常懶惰(像我)和精確度和競爭條件不打擾你那麼多(比如我,回答問題的StackOverflow),你可以只是做一個黑客就像這樣:
#!/bin/sh
now=$(date +%H%M.%S) # current time
date 2359.59 # Set time to 11:59:59pm
sleep 1 # Wait a second so the day rolls over
date 2359.59 # Set time to 11:59:59pm
sleep 1 # Wait a second so the day rolls over
date "$now" # Set time back to what it was, but in the new day
date -a 2 # Gradually add two seconds back to the clock
測試運行a tnarik/solaris10-minimal
Vagrant框:
# ./adddaystodate
The current date is now Monday, 25 January 2016 00:46:59 GMT
Monday, 25 January 2016 23:59:59 GMT
Tuesday, 26 January 2016 23:59:59 GMT
Wednesday, 27 January 2016 00:46:59 GMT
The current date is now Wednesday, 27 January 2016 00:46:59 GMT
不知道以下命令只有多少是POSIX/Linux。但是,這個命令是否工作? '日期+%m%d%H%M%Y'。如果這可行,那麼你可以寫下如下內容:'date $(date +%m%d%H%M%Y)'或'date \'date +%m%d%H%M%Y''。在linux中,你也可以這樣做:'date -d「now + 2 days」'如果需要的話,不要忘記用root帳戶運行它。 – yftse
@yftse這是如何添加2天的? – Gavriel
您需要將當前日期轉換爲時間戳,然後將2 * 86400添加到時間戳,然後將其轉換回mmddhhmmYY格式。由於我無法訪問Solaris,因此我將其餘部分留給您,但是man date應該可以幫助您轉換 – Gavriel