Я хотел бы заархивировать папку и загрузить ее в свой Dropbox из оболочки Ubuntu. Я намерен использовать это как решение для резервного копирования, поэтому было бы неплохо каждый день запускать и заменять старый файл. Если Dropbox не позволяет это, какие другие облачные сервисы, по вашему мнению, будут работать?
1 ответ
Архивирование и перемещение файлов
Следующее заархивирует каталог 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.