Я хотел бы удалить файл блокировки, если я перезагружаю или завершаю работу своей 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 файл не удален?Большое спасибо
Основа для if
конструкции в ударе:
if [expression];
then
code if 'expression' is true.
fi
таким образом, Вы действительно пропускаете a then
.
#!/bin/bash
lock="/home/sebastien/rsync.lock"
if [ -f "$lock" ];
then
rm $lock;
fi
Мог бы я предлагать что-то:
Вы делаете настолько далеко слишком сложными.
Вставьте файл блокировки /tmp/
. Тот каталог вычищен на каждой перезагрузке и является идеальным каталогом для помещения файлов блокировки без потребности в Вас к чему-либо дополнительному. Посмотрите, например, Как/tmp каталог очищен?
Этот метод также поддерживает расширение от содержания /etc/tmpfiles.d
. Посмотрите, Как/tmp каталог очищен?