使用 Systemd 定時器可靠地執行 ownCloud 後台作業
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
對於新的本機 SUSE 訂閱和更新伺服器,請在支援的 SLES 15 主機上安裝儲存庫鏡像工具 (RMT),使用 YaST 進行配置,啟用貴組織使用的產品,並鏡像其儲存庫。在將生產系統導向到該伺服器之前,請透過伺服器的 HTTPS URL 註冊測試用戶端。 RMT 取代了 SLES 15 的 SMT;舊版 SMT 安裝並非新部署的合適起點。
這種設計適用於這樣一種環境:一台伺服器連接到 SUSE 用戶中心 (SCC),其他 SUSE 系統則透過本地端點接收註冊資訊和軟體套件。它可以減少重複的外部下載,但並不提供訂閱權限:仍需要有效的組織訂閱和 SCC 鏡像憑證。
SLES 15 SP7 儲存庫鏡像工具指南指出,RMT 支援 SLES 12 及更高版本的用戶端,但不支援 SLES 11 及更早版本。 RMT 與 SMT 在暫存和報告等功能上也存在差異。遷移應視為服務變更,而非就地軟體包更新;SUSE 建議從 SMT 遷移時,在新 SLES 15 主機上安裝 RMT。
分配一個穩定的完整網域名稱 (FQDN),例如 `example.com` rmt.example.com,以及一個靜態位址。確保 DNS 解析穩定,並且主機可以透過出站連接埠 80 和 443 存取 SCC 和 SUSE 更新服務。客戶端需要透過 HTTPS 協定存取 RMT 服務。客戶端 URL 和伺服器憑證中應使用相同的 FQDN。
根據您要鏡像的版本、架構、產品和儲存庫來規劃儲存空間。 SUSE SP7 指南給出了一個大致的估算值:已啟用儲存庫的總大小約為 1.5 倍,每個 SLES 版本(包括擴充功能)大約需要 200 GB 的空間。這只是一個估算值,並非容量保證;請檢查目前儲存庫的大小並預留成長空間。 RMT 也會向目標位置寫入大型臨時文件/tmp,因此請確保檔案系統有足夠的可用空間。請勿將相同主機設定為 SLES 安裝伺服器:RMT 會在 80 連接埠上設定 NGINX,而安裝伺服器角色會在該連接埠上設定 Apache。
在已更新並註冊的 SLES 15 伺服器上,安裝 RMT:
sudo zypper patch
sudo zypper in rmt-server
檢查軟體包變更並完成安裝。啟動初始配置:
sudo yast2 rmt
輸入用於儲存庫鏡像的 SCC 組織憑證。這些憑證是組織在 SUSE Customer Center 中的代理憑證,而不是客戶端註冊碼。建立精靈請求的 MariaDB 資料庫和使用者。將憑證通用名稱設定為伺服器的 FQDN,並新增客戶端將使用的任何其他名稱作為備用名稱。如果啟用了 firewalld,請選擇所需的 RMT 規則,並在可行的情況下將其作用域限定到伺服器的相關網路介面。完成精靈;YaST 將啟用並啟動所需的服務和計時器。
YaST 將 RMT CA 憑證儲存在 `<path>` /etc/rmt/ssl/rmt-ca.crt,伺服器憑證和金鑰儲存在 `<path>` /etc/rmt/ssl/。請保護好私鑰。使用您已批准的流程分發 CA 的信任。即使伺服器透過 HTTPS 回應,如果其憑證名稱與要求的主機名稱不符或其 CA 不受信任,客戶端註冊仍然可能失敗。
從SCC更新本地產品目錄並檢查可用產品:
sudo rmt-cli sync
sudo rmt-cli products list --all
透過輸出中顯示的 ID 或產品字串啟用產品。產品字串因版本和架構而異,因此請使用您伺服器上的值,而不是複製猜測的識別碼:
sudo rmt-cli products enable PRODUCT_STRING
sudo rmt-cli products list
啟用產品會選擇其關聯的儲存庫。請將選擇範圍限制在您計劃支援的系統:每增加一個版本和架構都會佔用儲存空間並增加同步工作。使用以下命令開始初始軟體包下載:
sudo rmt-cli mirror
初始鏡像可能需要相當長的時間。 RMT 通常使用 systemd 定時器來排程元資料同步和倉庫鏡像。請檢查這兩個定時器是否都已啟動:
systemctl status rmt-server-sync.timer
systemctl status rmt-server-mirror.timer
使用rmt-cli products list以下rmt-cli repos list命令確認目標條目已啟用並顯示最近的鏡像活動。如果缺少儲存庫,請/tmp在重複重新啟動服務之前檢查 SCC 憑證、訂閱權限、出站連線、磁碟空間(包括磁碟空間)以及命令輸出。
在 SLES 12 或更高版本的測試系統上,將 SUSEConnect 指向 RMT 伺服器:
sudo SUSEConnect --url https://rmt.example.com
請替換為您實際的 FQDN,並確保它包含在憑證中。如果用戶端提示信任 RMT CA,請在接受憑證之前,透過您組織認可的管道驗證憑證。不要透過停用證書檢查來解決名稱不符的問題。然後檢查已配置的儲存庫並刷新元資料:
sudo zypper lr -u
sudo zypper refresh
成功結果顯示預期的 RMT 支援的儲存庫已啟用,且元資料刷新已完成。在伺服器上,確認客戶端已出現在清單中sudo rmt-cli systems list。如果註冊失敗,請檢查 DNS 和路由、HTTPS 可及性、憑證信任和主機名稱相符、防火牆範圍,以及產品是否已啟用和鏡像。在變更共享配置之前,請查看命令輸出和服務日誌。

在準備好的 SLES 15 主機上安裝 RMT 軟體包。

在套用 YaST 設定之前,請檢查 SCC、資料庫、FQDN 憑證和防火牆設定。

刷新產品目錄並檢查可用於鏡像的產品字串。

啟動儲存庫鏡像,並使用伺服器的 HTTPS 主機名稱註冊測試用戶端。
如果您需要 RMT 不提供的功能,例如更全面的用戶端管理、報告或分階段內容工作流程,請使用 SUSE Multi-Linux Manager 或其他支援的生命週期管理服務。僅在仍需要舊版 SLES 11 用戶端或 SMT 特定行為的情況下才保留 SMT,並單獨測試遷移。實體隔離網路需要資料傳輸工作流程:SUSE 文件中提供了 RMT 匯出和匯入命令,用於使用可移動儲存裝置移動儲存庫資料和元資料。 RMT 只能鏡像組織訂閱中可用的產品。
SLES 15 SP7 的官方文件: RMT 安裝與設定;儲存庫鏡像工具指南;從 SMT 遷移到 RMT。
將按需作業運行替換為 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 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。