在 CentOS 系統中,可以通過配置 rsync
服務來實現文件回收站的過期時間。以下是設置回收站過期時間的步驟:
rsync
和 inotify
安裝 rsync
和 inotify-tools
sudo yum install rsync inotify-tools
創建回收站目錄
sudo mkdir -p /var/spool/rsyncd/recoveries
配置 rsyncd.conf
編輯 /etc/rsyncd.conf
文件,添加以下內容:
[recoveries]
path = /var/spool/rsyncd/recoveries
comment = Recovery directory
read only = no
list = yes
auth users = nobody
secrets file = /etc/rsyncd.secrets
創建 rsyncd.secrets
文件
創建并編輯 /etc/rsyncd.secrets
文件,添加以下內容:
nobody:your_password
然后設置文件權限:
sudo chmod 600 /etc/rsyncd.secrets
啟動 rsync
服務
sudo systemctl start rsyncd
sudo systemctl enable rsyncd
編寫腳本監控回收站目錄
創建一個腳本 cleanup_recovery.sh
來監控回收站目錄并刪除過期文件:
#!/bin/bash
RECOVERY_DIR="/var/spool/rsyncd/recoveries"
EXPIRATION_DAYS=7
find "$RECOVERY_DIR" -type f -mtime +$EXPIRATION_DAYS -exec rm -f {} \;
賦予腳本執行權限:
chmod +x cleanup_recovery.sh
設置定時任務
使用 cron
設置定時任務,每天運行一次清理腳本:
crontab -e
添加以下行:
0 0 * * * /path/to/cleanup_recovery.sh
trash-cli
trash-cli
是一個命令行工具,可以方便地管理文件回收站。以下是安裝和使用方法:
安裝 trash-cli
sudo yum install trash-cli
設置回收站過期時間
trash-cli
本身不直接支持設置過期時間,但可以通過腳本結合 find
命令來實現:
#!/bin/bash
TRASH_DIR="$HOME/.local/share/Trash/files"
EXPIRATION_DAYS=7
find "$TRASH_DIR" -type f -mtime +$EXPIRATION_DAYS -exec rm -rf {} \;
賦予腳本執行權限:
chmod +x cleanup_trash.sh
設置定時任務
使用 cron
設置定時任務,每天運行一次清理腳本:
crontab -e
添加以下行:
0 0 * * * /path/to/cleanup_trash.sh
通過以上方法,你可以在 CentOS 系統中設置文件回收站的過期時間。選擇適合你需求的方法進行配置即可。