在 Debian 系统中,你可以使用 systemd
定时器来实现定时清理缓存。以下是具体步骤:
创建一个清理缓存的 systemd 服务文件:
首先,创建一个新的 systemd 服务文件,用于定义清理缓存的任务。
sudo nano /etc/systemd/system/clear-cache.service
在这个文件中添加以下内容:
[Unit]
Description=Clear system cache
[Service]
Type=oneshot
ExecStart=/usr/bin/sync; /usr/bin/echo 3 > /proc/sys/vm/drop_caches
这个服务文件定义了一个名为 clear-cache.service
的服务,它会在启动时执行 sync
命令来同步文件系统缓存,然后通过向 /proc/sys/vm/drop_caches
文件写入 3
来清理页面缓存、目录项缓存和 inode 缓存。
创建一个 systemd 定时器文件:
接下来,创建一个新的 systemd 定时器文件,用于定义定时任务的执行时间。
sudo nano /etc/systemd/system/clear-cache.timer
在这个文件中添加以下内容:
[Unit]
Description=Run clear-cache.service every hour
[Timer]
OnCalendar=*-*-* *:00:00
Persistent=true
[Install]
WantedBy=timers.target
这个定时器文件定义了一个名为 clear-cache.timer
的定时器,它会在每天的整点执行 clear-cache.service
服务。你可以根据需要调整 OnCalendar
行来设置不同的执行时间。
启用并启动定时器:
保存并关闭文件后,使用以下命令启用并启动定时器:
sudo systemctl enable --now clear-cache.timer
这将启用定时器并立即启动它。
检查定时器状态:
你可以使用以下命令来检查定时器的状态:
sudo systemctl list-timers --all
或者查看特定定时器的详细信息:
sudo systemctl status clear-cache.timer
通过以上步骤,你就可以在 Debian 系统中设置一个定时器来定期清理缓存了。