使用 Systemd 定時器可靠地執行 ownCloud 後台作業
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
使用 Ubuntu 的smartmontools軟體包來監控支援的驅動器smartd,然後透過本機郵件服務或 SMTP 中繼發送警告。對於單一 Ubuntu 伺服器,警報流程應盡量簡化:確認 SMARTsmartctl可以讀取每個磁碟,在 SMART 中新增收件人/etc/smartd.conf,並在依賴警報之前發送測試郵件。 SMART 警告可以揭示一些正在發展的問題,但無法預測所有突發的驅動器故障。

smartd它本身不會向互聯網郵件提供者進行身份驗證。其預設郵件路徑會呼叫系統mail指令,因此郵件投遞也取決於已設定的郵件傳輸代理程式 (MTA) 或中繼。請選擇與現有路徑相符的路徑:
| 路線 | 最佳匹配 | 實際權衡 |
|---|---|---|
| 現有的本地 MTA | 一台已經發送系統郵件的伺服器 | 新增設定最少;確認mail已安裝且外部傳輸功能正常。 |
| 使用經過驗證的 SMTP 中繼的 Postfix | 需要透過服務提供者發送外發郵件的VPS或家用伺服器 | 使用正常的系統郵件路徑,可以將郵件排隊等待投遞;需要一次性中繼、TLS 和憑證設定。 |
| 輕量級 SMTP 用戶端 | 一家小型主機商,郵件量低,且管理員能夠熟練地管理客戶資料。 | 郵件堆疊較小,但如果用戶端不提供命令,則smartd可能需要自訂郵件程式。-M execmail |
對於已設定係統郵件的單盤伺服器,請使用現有的郵件傳輸代理程式 (MTA)。如果這是一台新的 Ubuntu 伺服器,而您擁有 SMTP 中繼憑證,那麼 Postfix 是一個不錯的選擇,因為 Ubuntu 提供了關於其智慧主機配置的文件。 Ubuntumsmtp軟體包倉庫中也提供了一些輕量級的郵件用戶端,但在選擇之前,請務必檢查它與您的 smartd 配置中所需的郵件命令的兼容性。無論使用哪種用戶端,請測試發送到您計劃監控的外部位址的郵件投遞情況。
安裝 smartmontools 並掃描目前系統可以開啟的設備:
sudo apt update
sudo apt install smartmontools
sudo smartctl --scan-open
掃描結果可能會傳回類似/dev/sda -d satNVMe 裝置路徑的條目。請使用您電腦上顯示的路徑和任何-d裝置類型選項。然後檢查一個驅動器:
sudo smartctl -a /dev/sda
切換/dev/sda到已發現的裝置。 USB 硬碟盒、硬體 RAID 控制器或儲存適配器可能會阻止 SMART 直通;如果掃描未顯示磁碟,請檢查其控制器文件和 smartmontools 裝置類型選項。掃描成功僅確認資料可讀,不代表硬碟健康。

開啟守護程式配置:
sudoedit /etc/smartd.conf
若要實現自動發現,請使用一條活動掃描線,並將範例位址替換為您的目標位址:
DEVICESCAN -a -m admin@example.net -M test
-a啟用標準 SMART 檢查集,-m設定電子郵件收件人,並-M test要求 smartd 在啟動時發送測試警告。DEVICESCAN這些指令會套用於偵測到的驅動器,並忽略檔案中後續的裝置條目。如果您只想指定選定的驅動器,請為每個磁碟使用單獨的裝置行,例如 `<device-line-disk>` /dev/sda -a -m admin@example.net -M test。對於 RAID 或 USB 連接的磁碟,請包含掃描結果顯示的或控制器要求的裝置類型選項。

儲存文件,然後啟用並重新啟動Ubuntu的smartmontools服務:
sudo systemctl enable --now smartmontools.service
sudo systemctl restart smartmontools.service
如果服務無法正常啟動,請檢查服務和最近的日誌訊息:
systemctl status smartmontools.service
sudo journalctl -u smartmontools.service -n 50 --no-pager
在較舊的或自訂的安裝中,單元名稱可能會有所不同;請使用此方法systemctl list-unit-files '*smart*'尋找安裝在您的系統中的單元。
由於-M test該服務會在啟動時發送訊息,請重新啟動服務並確認郵件是否到達。這可以驗證從 smartd 到本地郵件命令以及 MTA 或中繼的路徑是否正確。如果測試郵件未到達,請先使用相同的郵件命令發送郵件,或檢查 MTA 的佇列和日誌;正在執行的 smartmontools 服務無法更正 SMTP 憑證、DNS、TLS 或提供者側的中繼限制。
測試完成後,請移除-M test並/etc/smartd.conf重新啟動服務,以避免常規重新啟動產生新的測試訊息。保持-m原樣。預設情況下,smartd 會限制重複警報;根據已儲存的監控狀態,它會發送初始警告,並可能針對持續存在的問題發送每日提醒。這可以減少收件匣噪音,而希望更改提醒頻率的操作員應smartd.conf(5)在更改前查閱已安裝的手冊-M。

smartd 會定期檢查設備,預設輪詢間隔為 30 分鐘,因此警報不會立即發出。它可以報告受支援的健康故障、新的日誌錯誤以及其他已配置的情況。 SMART 屬性取決於供應商,健康狀態摘要並不能排除突發的電子、機械、控制器或連接故障。請保留備份,並結合sudo smartctl -a /dev/sda硬碟製造商的指導調查警告,而不是將單一狀態列視為完整的診斷結果。
若要了解特定的指令行為和支援的設備類型,請參閱Ubuntu smartd.conf 手冊和Ubuntu smartd 手冊。 Ubuntu 在其Postfix 安裝指南中記錄了 SMTP 智慧主機配置;Ubuntu 的軟體包索引列出了msmtp-mta 軟體包,供選擇輕量級 SMTP 用戶端的系統使用。
將按需作業運行替換為 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 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。