Comments 7
Спасибо за статью. Я использвал похожую технику, она мне тоже приятна и я стал её применять на многих хостах. Вот в этот-то момент меня и заломало настраивать взеде локальный SMTP :-) Текомендую для отправки почты msmtp. Она поддежривает все необходимы фичи, всякие там TLS и прочее. Вот конфиг для гуглового почтового сервера.
$ cat .msmtprc account default host smtp.gmail.com port 587 from XXX@XXX.XX tls on tls_starttls on tls_certcheck off auth on user XXXXXXX@gmail.com password XXXXXXX logfile /var/log/msmtp.log
UFO just landed and posted this here
Ну, во-первых, возможно, при таких размерах backup-а лучше использовать уже более сложные программы. Или, скажем, синхронизировать непосредственно Git-репозиторий с находящимся на доверенных серверах.
Во-вторых, для размеров подобного порядка можно оптимизировать примерно так:
Делаем 2 скрипта, backup-monthly.sh и backup-daily.sh, добавляем их в crontab для выполения ежемесячно и ежедневно соответственно. Ежемесячный скрипт выглядит так же, только не удаляем .7z в конце; в ежедневном меняем команду сжатия 7-zip на инкрементальное (наверное, можно накопать в мануале 7-zip или в гугле; навскидку, из того же гугла, как-то так:
). Шифруем и отправляем, естественно, delta-файл. Единственное «но»: я не занимался вопросами того, как потом это дело распаковывать и можно ли делать архивы действительно инкрементальными (т.е. по алгоритму: сделали дельту, отправили дельту, слили изменения с локальной копией исходного backup.7z, чтобы следующая дельта была уже от текущего состояния).
Во-вторых, для размеров подобного порядка можно оптимизировать примерно так:
Делаем 2 скрипта, backup-monthly.sh и backup-daily.sh, добавляем их в crontab для выполения ежемесячно и ежедневно соответственно. Ежемесячный скрипт выглядит так же, только не удаляем .7z в конце; в ежедневном меняем команду сжатия 7-zip на инкрементальное (наверное, можно накопать в мануале 7-zip или в гугле; навскидку, из того же гугла, как-то так:
7za u backup.7z -up0q3x2z0!backup-delta-$(<тут вычисляется какой-нибудь уникальный порядковый номер>).7z * -ms=off
). Шифруем и отправляем, естественно, delta-файл. Единственное «но»: я не занимался вопросами того, как потом это дело распаковывать и можно ли делать архивы действительно инкрементальными (т.е. по алгоритму: сделали дельту, отправили дельту, слили изменения с локальной копией исходного backup.7z, чтобы следующая дельта была уже от текущего состояния).
rsync?
Вот прошу прощения, нет сейчас возможности глубоко покопаться в документации, но к rsync (в сравнении с моим sn-backup) потенциально есть такие вопросы:
- Поддерживается ли список масок при копировании, или то, что в примере, придется разбивать на 6 строк?
- Поддерживается ли копирование по маске со сканированием всего поддерева (тут подозреваю, что возможно)?
- Два предыдущих вопроса одновременно?..
Sign up to leave a comment.
Вариант простой backup-системы на Python, Bash и Git