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 файл не удален?Большое спасибо

5
задан 4 February 2020 в 22:12

1 ответ

Основа для 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 каталог очищен?

11
ответ дан 20 February 2020 в 23:01

Другие вопросы по тегам:

Похожие вопросы: