Автомонитирование samba-шары через systemd

Устал бороться с cifs в fstab. Всё таки давно пора переходить на монтирование через systemd.

Создаём юнит (меняем пути и параметры на свои):

[Unit]
Description=Mount Samba Share
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/home/username/wait_for_nas.sh
ExecStart=/usr/bin/mount -t cifs //SERVER/share /media/share -o username=username,password=password,rw,_netdev,uid=username
ExecStop=/usr/bin/umount /media/share

[Timer]
OnBootSec=40s
OnUnitInactiveSec=15s
Unit=samba-mount.service

[Install]
WantedBy=timers.target

Сохраняем в файл 

/etc/systemd/system/samba-mount.service

Активируем юнит

sudo systemctl daemon-reload
sudo systemctl enable samba-mount.service
sudo systemctl start samba-mount.service

Так же тут дополнительно используется вспомогательный скрипт /home/username/wait_for_nas.sh

#!/bin/bash
for i in {1..60}; do
   ping -c 1 192.168.1.2 && exit 0
   sleep 2
done
exit 1

Перезагружаемся и проверяем. У меня теперь работает как часы

Архив блога

Облако тегов