使用 Systemd 定時器可靠地執行 ownCloud 後台作業
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
在 SUSE Linux Enterprise Server 16.0 上,Cockpit 最新發布的設定指南(2026 年 10 月 8 日發布)確認了該cockpit模式、cockpit.socketsystemd 單元以及預設的 HTTPS 連接埠 9090。若要解決控制台無法連線的問題,請先檢查 DNS 和可及性,然後檢查套接字、防火牆、憑證和帳戶。這些安裝指令僅適用於 SLES 16;在較舊的 SLES 版本上,請在安裝或變更規則之前,確認該版本的軟體包和防火牆說明。
請務必使用以下假設範例:系統管理員 Mayahttps://cockpit-srv.example.net:9090在她的工作站上開啟瀏覽器,但瀏覽器逾時。範例中的主機以及任何顯示的位址或狀態僅用於說明,並非真實伺服器測試的報告。
首先從 Maya 工作站開始。確認名稱解析成功後,使用較短的逾時時間測試 HTTPS 端點:
getent ahosts cockpit-srv.example.net
curl -vI --connect-timeout 5 https://cockpit-srv.example.net:9090/

如果名稱查找失敗或傳回舊位址,請在操作 Cockpit 之前修正 DNS 記錄或用戶端解析器。如果 curl 報告“連接被拒絕”,則表示主機已回應,但該連接埠上沒有任何服務接受連接,或防火牆主動拒絕了連接。超時通常表示流量遺失、路由問題或上游防火牆。如果 curl 到達 TLS 並報告證書警告,則表示網路流量已到達 Cockpit;請檢查證書,而不是開啟更多連接埠。
確認 Maya 使用的是預期的主機名稱和管理網路。預設連接埠為 TCP 9090,但可以自訂。如果直接存取受到限制,請使用經批准的 Cockpit 主伺服器透過 SSH 連接到輔助主機,而不是廣泛暴露連接埠。
使用 SSH 或本機控制台檢查已安裝的 Cockpit 軟體包、systemd 套接字以及是否有任何程式監聽 9090 連接埠:
sudo zypper se -i cockpit
sudo systemctl status cockpit.socket
sudo ss -ltnp 'sport = :9090'

cockpit.socket即使在瀏覽器會話之間按需提供的 Cockpit 服務處於空閒狀態時,也需要保持積極監聽。Cockpit 使用 systemd 套接字啟動:cockpit.socket接受瀏覽器連線並在需要時啟動 Web 服務。因此,空閒狀態cockpit.service本身並不表示故障。如果 Cockpit 已安裝但套接字處於非活動狀態,請啟動並啟用它:
sudo systemctl enable --now cockpit.socket
如果 SLES 16 上缺少該軟體包,SUSE 文件中提供了安裝說明sudo zypper in -t pattern cockpit。請勿假設 SLES 15 或其他版本配置的儲存庫中提供了該軟體包。請使用以下命令查看套接字和服務訊息:
sudo journalctl -u cockpit.socket -u cockpit.service -b --no-pager
如果套接字在本機監聽但 Maya 仍然逾時,請檢查防火牆和路由。如果套接字沒有監聽,請修復日誌中的套件或套接字錯誤。
在啟用了 firewalld 的 SLES 16 上,首先確定活動區域並檢查其允許的服務:
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=ZONE --list-services

替換ZONE為與管理介面關聯的區域。如果缺少 Cockpit 服務且該區域用於受信任的管理訪問,請新增 Cockpit 服務並重新載入規則:
sudo firewall-cmd --zone=ZONE --add-service=cockpit --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=ZONE --query-service=cockpit
此規則會影響該區域允許的所有來源,因此請確保管理區域僅限於管理員網路。同時,請檢查雲端安全群組、網路存取控制清單 (ACL)、VPN 原則以及上游防火牆中 TCP 9090 連接埠的設定。
SUSE 的 SLES 16 Cockpit 指南也記錄了防火牆設定過程中的刷新cockpit-selinux-policies和重新啟動步驟cockpit.socket。如果您使用的是 SLES 16,並且在按照防火牆步驟操作後,軟體包/套接字或 SELinux 策略仍然出現不一致的情況,請使用 SUSE 指南中提供的相應命令:
sudo zypper in -f cockpit-selinux-policies
sudo systemctl restart cockpit.socket
未經相關軟體包指南,請勿將此軟體包步驟套用至其他 SLES 版本。如果有意限制直接連接埠訪問,請使用已核准的 Cockpit 主主機,並透過 SSH 以輔助伺服器身分連接到目標主機,而不是擴展目標主機的防火牆權限。
透過 HTTPS 連線 Open Cockpit:https://cockpit-srv.example.net:9090在 SLES 16 上,如果未安裝證書,Cockpit 會產生一個自簽名憑證。瀏覽器關於未知頒發者或名稱不符的警告表示存在 TLS 信任或驗證問題,但並未證明 TCP 連線失敗。請勿停用瀏覽器憑證檢查作為永久解決方案。

使用 SUSE 文件中提供的命令檢查 Cockpit 選擇的證書:
sudo /usr/libexec/cockpit-certificate-ensure --check
SLES 16 從指定位置載入憑證/etc/cockpit/ws-certs.d;相符的私鑰使用相同的基本檔名,但附有.key後綴。對於受管伺服器,請安裝主題備用名稱與 Maya 輸入的主機名稱相符的證書,包含其中間鏈,並將頒發憑證的 CA 設定為工作站信任的憑證授權單位。如果 curl 可以存取服務但報告的是自簽名證書,請修正信任設定或部署適當的證書,而不是更改防火牆設定。
Cockpit 使用伺服器的常規帳戶憑證,無需單獨的 Cockpit 密碼。在新安裝的 SLES 系統中,root預設會停用基於密碼的登入。如果 Maya 進入登入頁面但無法以 root 使用者身分登錄,請使用已授權的普通帳戶,而不是僅僅為了排查 Cockpit 問題而啟用 root 密碼登入。之後,管理員操作可以使用該帳號的授權權限路徑。
從 Maya 工作站重新載入 HTTPS URL。驗證 DNS 是否傳回目標伺服器,TCP 9090 連接埠是否可達,憑證是否符合且受信任,以及授權帳戶是否可以登入。如果本地監聽正常但遠端請求逾時,請將位址、連接埠和測試時間提供給網路團隊。
關於安裝、防火牆、憑證和驗證詳情,SUSE 最新參考資料是2026 年 10 月 8 日發布的《SLES 16.0 Cockpit 管理指南》 。有關 Cockpit 各版本中 HTTPS 和憑證的通用行為,請參閱《 Cockpit SSL/TLS 指南》。具體的軟體包可用性和防火牆整合情況取決於特定版本。
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
透過 Apache、Nginx 或反向代理程式追蹤 WebDAV 請求,然後使用經過驗證的 PROPFIND 測試確認 ownCloud 同步功能正常。
透過設定其規範 URL 並從伺服器本身檢查 DNS、HTTPS 和反向代理路由,修復 Nextcloud 缺少出站位址警告的問題。
透過本機 Unix 套接字配置 APCu 和 Redis,以實現 Nextcloud 快取和檔案鎖定,並提供目前和舊版 Nextcloud 的步驟。
檢查 Nextcloud 的 cron 模式,修復其 systemd 服務和計時器,並驗證後台作業在啟動後以及每隔五分鐘運行一次。
啟用可靠的 Nextcloud 檔案鎖定,選擇適當的 Redis 或 Valkey 後端,並驗證警告是否清除,同時避免並發檔案變更的風險。
使用最新更新、HTTPS 和 HSTS、精確的反向代理信任以及針對公共伺服器的檢查,修復 Nextcloud 掃描中常見的錯誤。
為需要加密的儲存配置 Nextcloud SSE,保護加密金鑰,並在加密現有文件之前測量傳輸和 CPU 影響。
將 Nextcloud 的檔案搜尋連接到 Elasticsearch,索引文件內容,並選擇適合您的伺服器和安全需求的設定。
配置 Nextcloud 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。