Назад | Перейти на главную страницу

Как проще всего заархивировать важные файлы на моем VPS и отправить их мне по электронной почте?

Если я хотел заархивировать (или архивировать tar.gz) список путей (рекурсивно) на Linux VPS, затем отправить ZIP / TAR мне по электронной почте, а затем удалить ZIP / TAR, какой самый простой способ сделать это? Сценарий оболочки для задания cron, программы и т. Д.?

Например, вот что я бы сделал:

  1. Остановите apache, mysql, postgresql и стойку

  2. Застегнуться:

    /etc/httpd/conf/httpd.conf
    /etc/httpd/conf.d/*
    /home/kerrick/*
    /var/lib/mysql/*
    # etc.
    
  3. Отправьте zip-файл по электронной почте в виде вложения в foobar@example.com

  4. Удалите zip-файл

  5. Возобновить apache, mysql, postgresql и стойку

Вы можете использовать следующий скрипт, обновите, конечно, с вашей информацией:

#!/bin/sh

[ -f /etc/redhat-release ] && service httpd stop
[ -f /etc/debian_version ] && service apache2 stop
service mysqld stop
service postgresql stop
#Do the same for rack, not sure what the service is called.

zip -r /tmp/all_needed.zip /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/ /home/kerrick/ /var/lib/mysql/ # etc.
mail -s "test" yourmail@yourdomain.com <  /tmp/all_needed.zip
rm -f /tmp/all_needed.zip

[ -f /etc/redhat-release ] && service httpd start
[ -f /etc/debian_version ] && service apache2 start
service mysqld start
service postgresql start
#Do the same for rack, not sure what the service is called.

При необходимости запустите его как cron. Но на самом деле было бы лучше, например, scp или ftp, а не по электронной почте, так как zip-пакет может быть слишком большим и не может быть отправлен в виде вложения.

Самым простым, конечно, будет bash-скрипт, работающий как cron, содержащий:

  • Остановите Apache, MySQL, PostgreSQL и Rack с помощью service команда или /etc/init.d вызовы сценария
  • Один или несколько tar команды для создания архивов файлов, которые вы хотите сжать - поместите архивы во временный каталог, например / tmp
  • Отправьте архивы с помощью любой почтовой программы, которая может обрабатывать вложения. -или-
  • Выполните base64-кодирование архивов и передайте результат в почтовую программу.
  • Удалите архивы в / tmp (или другом каталоге, который вы используете)
  • Снова запустить сервисы

Кроме того, вы можете вставлять команды «инструментирования» между всеми этапами, записывая их в (настраиваемый) файл журнала или на сервер системного журнала.