18.04.4 关机时删除文件

18.04.4 关机时删除文件

如果我重新启动或关闭我的 Ubuntu 18.04.4,我想删除一个锁文件。

我使用以下代码创建了“usr/local/sbin/delete_lock.sh”

#!/bin/bash
lock="/home/sebastien/rsync.lock"
if [ -f "$lock" ];
rm $lock;
fi

然后是另一个“/etc/systemd/system/run_on_shutdown.service”:

[Unit]
Description=Delete lock file at shutdown - /etc/systemd/system/run_on_shutdown.service
DefaultDependencies=no
Before=shutdown.target halt.target
# If your script requires any mounted directories, add them below: 
RequiresMountsFor=/home

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/delete_lock.sh

[Install]
WantedBy=halt.target shutdown.target

然后我启动

sudo systemctl enable run_on_shutdown.service

并重新启动

知道为什么 rsync.lock 文件没有被删除吗?非常感谢

答案1

根据对于ifbash 中的构造来说:

if [expression];    
then    
code if 'expression' is true.    
fi 

所以你确实缺了一个then

#!/bin/bash
lock="/home/sebastien/rsync.lock"
if [ -f "$lock" ];
then
rm $lock;
fi

我可以建议一下吗:

你把这事搞得太复杂了。

将锁定文件放入/tmp/。该目录在每次重新启动时都会被清除,是放置锁定文件的理想目录,无需您执行任何额外操作。例如,请参阅/tmp 目录是如何清理的?

此方法还支持 的内容扩展/etc/tmpfiles.d。请参阅/tmp 目录是如何清理的?

相关内容