Простой бэкап на Яндекс.Диск с помощью cURL

У меня есть скрипт для резервного копирования сайта, который работает по расписанию и создаёт бэкап в виде нескольких tar-архивов в каталоге, скажем, /home/cube/backups. Задача — так же по расписанию заливать эти файлы на Яндекс.Диск.

Почему именно Яндекс.диск?

  • Он работает шустро (по крайней мере, в пределах России).
  • Может работать по WebDAV.
  • Сразу дают 10 бесплатных гигабайт.
  • Он мне нравится.

Почему именно cURL?

  • Я, конечно, знаю про davfs2 и пользуюсь им, но на виртуальном хостинге сие затруднительно.
  • cURL удобен для использования в скриптах.

Несмотря на то, что cURL не поддерживает протокол WebDAV, его использовать для этих целей можно, ибо WebDAV есть, по сути, расширение протокола HTTP(S) несколькими дополнительными методами. А уж с HTTP PUT у cURL никаких проблем нет.

Вот небольшой скриптик, который тоже должен запускаться по расписанию через некоторое время после основного скрипта бэкапа. Всё, что он делает, это находит все файлы с расширением tar в каталоге /home/cube/backups, заливает каждый файл на Яндекс.Диск и удаляет его.

Можно приделать красивый вывод, обработку ошибок, etc., но мне хватает и такого скрипта.