一、沒有校時服務器的話
1、手動修改
sudo date --set="2024-06-17 13:44:00"
二、有校時服務器的話
1、手動校時
ntpdate 14.193.73.2
2、自動校時
寫一個校時服務腳本 14.193.73.2
是校驗時間服務器
#!/bin/sh
while true
dontpdate 14.193.73.2sleep 5;hwclock -wsleep 25;
done
上傳到opt目錄
修改權限
chmod 777 NtpGet.sh
進入opt目錄 后臺執行一下
./NtpGet.sh &
查看狀態
systemctl status ntp
如果關了Xshell 腳本不運行了 執行下面的命令
nohup /opt/NtpGet.sh &
3、使用 nohup
命令啟動腳本與直接使用 &
命令的區別
(1) ./NtpGet.sh &
的行為
當你使用 ./NtpGet.sh &
命令時,腳本會在后臺執行,但如果你關閉了當前的終端(例如退出 xShell 會話),腳本可能會終止或失去其連接的終端環境。因為默認情況下,腳本會與當前的終端綁定,關閉終端時該腳本的執行也會受到影響。
&
符號的作用是讓腳本在后臺運行,但它并不會讓腳本與終端會話完全解耦。
(2) nohup /opt/NtpGet.sh &
的行為
nohup 是一個非常實用的命令,它的作用是讓進程在退出終端后依然繼續運行。nohup
會將腳本的輸出(包括標準輸出和錯誤輸出)重定向到一個文件(通常是 nohup.out),避免因終端關閉而導致進程受到影響。
使用 nohup /opt/NtpGet.sh &
啟動腳本時,腳本會在后臺執行,而且不會受終端會話關閉的影響。即使關閉了 xShell,腳本仍會繼續運行,且輸出會被重定向到 nohup.out
文件中。
(3)區別總結
./NtpGet.sh &
: 腳本會在后臺運行,但如果關閉終端,腳本可能會終止,因為它仍然與終端會話綁定。
nohup /opt/NtpGet.sh &
: 腳本會在后臺運行,且與終端會話完全解耦,即使終端關閉,腳本仍會繼續運行,并且標準輸出會被重定向到 nohup.out 文件。
(4)更詳細的說明
nohup
的名字來源于 “no hang up
”,意思是“不會掛起”。在 Unix/Linux 系統中,關閉終端時會發送一個 SIGHUP 信號給所有與該終端相關的進程,這會導致這些進程終止。使用 nohup 可以阻止這種信號,使得腳本和進程能夠繼續執行。
& 表示后臺執行命令,但它并不會讓進程脫離當前終端,因此當終端關閉時,后臺進程也可能會受到影響。