1

Я хотел бы заархивировать папку и загрузить ее в свой Dropbox из оболочки Ubuntu. Я намерен использовать это как решение для резервного копирования, поэтому было бы неплохо каждый день запускать и заменять старый файл. Если Dropbox не позволяет это, какие другие облачные сервисы, по вашему мнению, будут работать?

1 ответ1

4

Архивирование и перемещение файлов

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

zip -r ~/backup.zip ~/foo

Теперь все, что вам нужно сделать, это переместить этот файл в свой Dropbox:

mv ~/backup.zip ~/Dropbox/

Если файл резервной копии уже существует, mv перезапишет его без запроса, так что будьте внимательны.


Автоматизация это

Вы можете поместить это в файл сценария, возможно, назвать его backup.sh и сохранить его в своей домашней папке.

#!/bin/bash
zip -r ~/backup.zip ~/foo
mv ~/backup.zip ~/Dropbox/

Вот и все. Если вы предпочитаете сохранить свои старые версии, вы можете поставить метку времени созданного файла, выполнив команду date до:

#!/bin/bash
d=$(date +"%Y-%m-%d") # => this returns 2012-03-25, for example
zip -r ~/backup-$d.zip ~/foo
mv ~/backup-$d.zip ~/Dropbox/

Теперь в командной строке сделайте этот файл исполняемым:

chmod +x ~/backup.sh

Единственное, что вам нужно сделать, чтобы добавить это в расписание, это отредактировать ваш crontab:

EDITOR=nano;crontab -e

Добавьте следующую строку:

0   15  *   *   *   ~/backup.sh >/dev/null

Нажмите Ctrl-O и введите, чтобы сохранить. Ваша резервная копия будет работать каждый день в 15:00. Чтобы узнать больше, ознакомьтесь со статьей Википедии о Cron.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .