fstrim 似乎没有任何计时器,我如何确保它正常工作?

fstrim 似乎没有任何计时器,我如何确保它正常工作?

“util-linux 软件包提供 fstrim.service 和 fstrim.timer systemd 单元文件。启用计时器将每周激活该服务。该服务在支持丢弃操作的设备上的所有已安装文件系统上执行 fstrim(8)。”

从:https://wiki.archlinux.org/title/Solid_state_drive

我想确保它每周运行一次,因为我读过它不应该运行得太频繁,也不能太少。

但是,它似乎没有任何计时器:

# systemctl list-timers |grep fstrim
# cat /etc/systemd/system/fstrim.timer
cat: /etc/systemd/system/fstrim.timer: No such file or directory

fstrim.service 文件本身是:

# systemctl cat fstrim.service
# /usr/lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks on filesystems from /etc/fstab
Documentation=man:fstrim(8)
ConditionVirtualization=!container

[Service]
Type=oneshot
ExecStart=/usr/bin/fstrim --listed-in /etc/fstab:/proc/self/mountinfo --verbose --quiet-unsupported
PrivateDevices=no
PrivateNetwork=yes
PrivateUsers=no
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
MemoryDenyWriteExecute=yes
SystemCallFilter=@default @file-system @basic-io @system-service

哪里指定了每周基准?我如何确保它每周运行或根本运行?

答案1

$ systemctl list-unit-files '*trim*'
UNIT FILE      STATE   VENDOR PRESET
fstrim.service static  -            
fstrim.timer   enabled enabled      

$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
     Loaded: loaded (/lib/systemd/system/fstrim.timer

$ grep Cal /lib/systemd/system/fstrim.timer
OnCalendar=weekly

请注意,默认的 systemd 文件位于/lib/systemd/system(以及其他几个地方),本地定制的文件位于/etc/systemd/system.

相关内容