維護 mastodon 伺服器時,需要定期清理緩存,需要執行的指令為 ——這樣的指令,直接敲在 linux 命令行里,是可以正常執行的,但把它們加到計劃任務 crontab -e 里,如 執行的時候,可能會報錯: 如果管理員並沒有發現,就會導致硬碟被佔滿;或者使用遠程存儲如 Scaleway 時,超出免費的額度,多出一大筆賬單。 crontab 計劃任務運行時,默認的路徑 $PATH 環境變量,只有 並不包括 ruby 所在的路徑,所以無法執行上面的清理指令。需要在運行定時任務時,把 ruby 的路徑加進來。 在命令行運行 得到當前 ruby 程式的位置,通常為: 比較清爽的方式,是把定時清理緩存的指令,做成 mastodon_clean.sh 命令文件,清理緩存之前,先添加 ruby 所在的路徑 不要忘記把 .sh 文件設為可執行: 然後 su 到 mastodon 程式所屬的用戶(通常也是 mastodon),執行 crontab -e,寫入需要運行的 .sh 命令 就可以了。也可以把執行的結果輸入到 log 文件,查看是否正確運行: