Автоматическое монтирование FTP каталога
- EN
- RU
Использую proxmox в качестве гипервизора для размещения виртуальных машин. Провайдер у которого я арендую выделенные серверы даёт возможность использовать ftp сервер для резервного копирования. Гипервизор встроенных возможностей записи резервных копий на ftp не имеет. Так как proxmox основан на Debian, то можно использовать curlftpfs для монтирования ftp в локальный каталог и выполнять туда резервное копирование, но в процессе эксплуатации выяснилось, что при длительном простое соединение периодически отваливается. Поэтому оптимальным вариантом оказалось автоматическое монтирование ftp каталога средствами systemd при обращении к точке монтирования. Автоматическое размонтирование происходит через 30 секунд простоя.
curlftpfs
Устанавливаем curlftpfs
apt-get install curlftpfs
Создаем файл паролей
cat<<EOF>>/root/.netrc
machine ftp-server.com
login ftp-user
password ftp-password
EOF
Тестируем монтирование файловой системы
mkdir /mnt/backup
curlftpfs ftp-server.com /mnt/backup -o rw,allow_root
ls /mnt/backup
fusermount -u /mnt/backup
Настраиваем автомонтирование
Создаем файл с точкой монтирования для systemd:
cat<<EOF>>/etc/systemd/system/mnt-backup.mount
[Unit]
Description=ftp share
[Mount]
What=curlftpfs#ftp-server.com
Where=/mnt/backup
Options=rw,allow_root,direct_io,hard_remove,big_writes
Type=fuse
[Install]
WantedBy=multi-user.target
EOF
Создаем сервис для автомонтирования:
cat<<EOF>>/etc/systemd/system/mnt-backup.automount
[Unit]
Description=ftp share
Requires=network-online.target
After=network-online.service
[Automount]
Where=/mnt/backup
TimeoutIdleSec=30
[Install]
WantedBy=multi-user.target
EOF
Включаем и проверяем автомонтирование
systemctl daemon-reload
systemctl enable mnt-backup.mount
systemctl enable mnt-backup.automount --now
ls /mnt/backup
mount | grep /mnt/backup