Pull to refresh

Comments 8

Мы у себя Backblaze используем для хранения бекапов. Стоит недорого, и позволяет загружать файлы в облако с помощью их утилиты командной строки.


Можно даже изловчиться и написать код, который будет удалять устаревшие бекапы из облака. У нас используется вот такой код на PHP для этого:


// Функция, которая удаляет устаревшие архивы в облаке
function deleteUploadedFiles($config, $source, $nextFileName = '', $nextFileId = '') {

  $uploadedFiles = json_decode(shell_exec("b2 list_file_versions {$config->b2Bucket} {$nextFileName} {$nextFileId}"));

  foreach($uploadedFiles->files as $file) {
    if (
      mb_strpos($file->fileName, '.bzEmpty') === false
      and
      mb_strpos($file->fileName, $source->folder) === 0
    ) {
      $date1 = date_create_from_format('U',mb_substr($file->uploadTimestamp,0,10));
      $date2 = new DateTime();

      // Смотрим разницу между текущей датой и датой загрузки файла
      $interval = $date2->diff($date1)->format('%a'); // http://php.net/manual/ru/dateinterval.format.php
      if ($interval > $config->b2DeleteRange) {
        echo " - Файл {$file->fileName} был создан больше {$config->b2DeleteRange} дней назад. Удаляем его из облака. \n"; 
        shell_exec("b2 delete_file_version {$file->fileName} {$file->fileId}");
      } else {
        echo " - Файл {$file->fileName} не нуждается в удалении из облака. \n"; 
      }
    }
  }

  if ($uploadedFiles->nextFileName and $uploadedFiles->nextFileId) {
    deleteUploadedFiles($config, $source, $uploadedFiles->nextFileName, $uploadedFiles->nextFileId);
  }
}



Ещё есть Ruby Backup Gem, который много чего умеет и поддерживает различные виды хранилищ. Единственное, почему мы его на заюзали — потому что он с B2 пока не дружит.

Везет тем, у кого на VPS 15 ГБ полезной инфы всего
А почему не рассмотрели вариант yandex disk и webdav? Хотя по моему мнению у них и клиент для linux поумнее будет.

По моему опыту Яндекс.Диск c webdav гораздо медленнее, чем Google.Drive через ocamlfuse. И места у них по-умолчанию на 5Гб меньше (если сейчас ничего не изменилось).


Кстати, любители халявы могут попробовать объединить несколько аккаунтов в массив с помощью mhddfs/unionfs/aufs, на Хабре уже есть соответствующие статьи.

Была такая задачка под виндой, синхронизировать работу между домом и работой.
Нашел программку GoodSync. Там была синхронизация по времени изменений итд
Использую Яндекс.Диск для резервных копий, ставлю на выполнение крон задачу несколько раз в сутки со следующим кодом:
#!/bin/bash

TIME=`date +%Y-%m-%d-%H-%M-%S`
SERVER_NAME="SERVER_NAME"

MYSQL_FILE=/tmp/$SERVER_NAME-mysql.$TIME.sql.gz
FS_FILE=/tmp/$SERVER_NAME-fs.$TIME.tar.gz

# Archiving databases
mysqldump -u MYSQL_USER --password=MYSQL_USER_PASS MYSQL_DB | gzip > $MYSQL_FILE
if [ -f $MYSQL_FILE ]; then
    echo $TIME" db dump created"

# Uploading to the cloud
curl --user YA_USER@yandex.ru:YA_PASS -T "{$MYSQL_FILE}" https://webdav.yandex.ru/backup/database/
#Delete archve
rm $MYSQL_FILE

fi

# Archiving filesystem
tar czfP $FS_FILE /var/www/SITE_PATH
if [ -f $FS_FILE ]; then
echo $TIME" fs achive created"

# Uploading to the cloud
curl --user YA_USER@yandex.ru:YA_PASS -T "{$FS_FILE}" https://webdav.yandex.ru/backup/files/
#Delete archve
rm $FS_FILE

fi

Можно для тех же целей Яндекс.Диск использовать. Он без проблем монтируется по webdav как локальная папка. Для небольших бесплатных объемов работает вполне сносно, бэкапы копируются и подчищаются. Если покупать много места, то webdav не подходит, тормозит и зависает.

Хорошее решение для архивации малого калибра, но помимо корпорации добра, рекомендую попробовать яндекс диск для подобных целей. Порог вхождения ниже, а гибкость настройки больше. Из объективных минусов — бесплатного сыра здесь только 10 ГБ,

Дружит с Ubuntu, Debian, Fedora, Red Hat, Centos. Существуют версии i386, x86, x64, x86_64. Консольную утилиту можно ставить из deb-файла, через apt-get (надо указать репозиторий) или RPM.

Настраивать можно через визард (yandex-disk setup) консольной утилиты или просто редактированием конфигурации. Может работать как в режиме постоянной синхронизации через демон, так и просто выполнить синхронизацию по команде (yandex-disk sync). Можно указывать что синхронизовать, либо что не трогать, разрешить/запретить перезапись и т.п.

Базовая настройка резервного копирования с момента коннекта по ssh займет минуты 2-3.

Еще умеет работать с webdav, что в сочетании с парой утилит позволяет создать кластер из дисков, объединенный в одно дисковое пространство. Но нюансов там не мало, так что это совсем другая история.
Sign up to leave a comment.

Articles