centos

CentOS中如何设置回收站策略

小樊
43
2025-06-20 13:22:20
栏目: 智能运维

在CentOS系统中,可以通过配置文件系统来设置回收站策略。以下是一些常见的方法:

方法一:使用trash-cli工具

  1. 安装trash-cli

    sudo yum install trash-cli
    
  2. 配置回收站大小trash-cli默认使用~/.local/share/Trash/files~/.local/share/Trash/info作为回收站目录。你可以通过修改这些目录的权限和大小来控制回收站的容量。

    # 设置回收站最大容量(以字节为单位)
    echo "1073741824" > ~/.trashrc
    
  3. 配置回收站保留时间trash-cli默认没有设置回收站保留时间,但你可以使用trash-put命令的--keep选项来指定保留时间。

    trash-put --keep=7 /path/to/file
    

方法二:使用inotify和自定义脚本

  1. 安装inotify-tools

    sudo yum install inotify-tools
    
  2. 编写自定义脚本: 创建一个脚本来监控文件删除操作,并将删除的文件移动到回收站。

    #!/bin/bash
    
    TRASH_DIR="$HOME/.trash"
    
    mkdir -p "$TRASH_DIR/files"
    mkdir -p "$TRASH_DIR/info"
    
    inotifywait -m -e delete --format '%w%f' /path/to/monitor | while read FILE
    do
        TIMESTAMP=$(date +%s)
        mv "$FILE" "$TRASH_DIR/files/$TIMESTAMP-$(basename "$FILE")"
        echo "[$TIMESTAMP] $FILE" > "$TRASH_DIR/info/$(basename "$FILE")"
    done
    
  3. 运行脚本

    chmod +x /path/to/script.sh
    /path/to/script.sh
    

方法三:使用systemd服务

  1. 创建systemd服务文件: 创建一个systemd服务文件来管理回收站。

    [Unit]
    Description=Trash Service
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/trash-service.sh
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  2. 编写服务脚本: 创建一个脚本来管理回收站。

    #!/bin/bash
    
    TRASH_DIR="$HOME/.trash"
    
    mkdir -p "$TRASH_DIR/files"
    mkdir -p "$TRASH_DIR/info"
    
    inotifywait -m -e delete --format '%w%f' /path/to/monitor | while read FILE
    do
        TIMESTAMP=$(date +%s)
        mv "$FILE" "$TRASH_DIR/files/$TIMESTAMP-$(basename "$FILE")"
        echo "[$TIMESTAMP] $FILE" > "$TRASH_DIR/info/$(basename "$FILE")"
    done
    
  3. 启用并启动服务

    sudo systemctl enable trash-service.service
    sudo systemctl start trash-service.service
    

通过以上方法,你可以在CentOS系统中设置回收站策略,以满足你的需求。

0
看了该问题的人还看了