ubuntu

ubuntu定时清理磁盘空间

小樊
35
2025-06-11 02:19:04
栏目: 云计算

在Ubuntu系统中,你可以使用cron任务来定时清理磁盘空间。以下是具体步骤:

方法一:使用cron定时任务

  1. 打开终端

  2. 编辑当前用户的crontab文件

    crontab -e
    
  3. 添加定时任务: 你可以在crontab文件中添加一行或多行来定义定时任务。以下是一些常用的清理命令示例:

    • 每天凌晨2点清理临时文件

      0 2 * * * rm -rf /tmp/*
      
    • 每周日凌晨3点清理日志文件

      0 3 * * 0 find /var/log -type f -name "*.log" -exec rm -f {} \;
      
    • 每月1日凌晨4点清理旧的内核文件

      0 4 1 * * apt-get autoremove --purge -y && apt-get clean
      
    • 每季度最后一个星期日凌晨5点清理整个/var/log目录

      0 5 0L * * find /var/log -type d -empty -delete
      

    你可以根据自己的需求调整时间和命令。

  4. 保存并退出: 按Ctrl + X,然后按Y确认保存,最后按Enter退出编辑器。

方法二:使用systemd定时任务(适用于Ubuntu 16.04及更高版本)

  1. 创建一个新的systemd定时器单元文件

    sudo nano /etc/systemd/system/cleanup-timer.service
    
  2. 添加以下内容

    [Unit]
    Description=Cleanup temporary files
    
    [Service]
    ExecStart=/usr/bin/find /tmp -type f -atime +7 -delete
    

    这个例子会删除7天前的临时文件。

  3. 创建一个新的systemd定时器单元文件

    sudo nano /etc/systemd/system/cleanup-timer.timer
    
  4. 添加以下内容

    [Unit]
    Description=Run cleanup-timer.service every day at 2 AM
    
    [Timer]
    OnCalendar=*-*-* 02:00:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    

    这个例子会每天凌晨2点运行cleanup-timer.service

  5. 启用并启动定时器

    sudo systemctl enable cleanup-timer.timer
    sudo systemctl start cleanup-timer.timer
    
  6. 检查定时器状态

    sudo systemctl list-timers --all
    

通过以上方法,你可以轻松地在Ubuntu系统中设置定时清理磁盘空间的任务。根据你的具体需求选择合适的方法即可。

0
看了该问题的人还看了