Как сжать каталог на веб-сервере Unix и отправить его по электронной почте по расписанию?

1146
Ian

Услышав о том, что создатели различных высококлассных сайтов недавно застыли после сбоев оборудования на их серверах, я хотел бы реализовать стратегию резервного копирования на своих сайтах.

У меня есть cPanel, но я не могу планировать резервные копии и отправлять их мне по электронной почте. Есть возможность «crontab», но я не опытный пользователь Unix, поэтому не знаю, как это использовать.

То, что я хотел бы сделать, это создать резервную копию всего моего домашнего каталога, сжав ее одновременно, а затем отправив электронное письмо с уведомлением, что такая резервная копия была сделана, и я могу загрузить и заархивировать.

Пожалуйста, кто-нибудь может дать мне какие-нибудь советы о том, как я буду делать такие вещи?

Ура, Ян.

2
Лучшим решением может быть использование средства crontab. Об этом стоит узнать. pavium 14 лет назад 0

1 ответ на вопрос

2
Chealion

Чтобы начать с команд, которые вы хотите научиться использовать; tar, mailИ основные оболочка сценарии.

Скрипт оболочки

Очень быстрый и грязный пример того, как это сделать, может быть следующим:

#! /bin/sh  # The following command creates a GZIP'd version of your folder. -c = create # -z = use gzip, -f = file name of backup file # You can use j instead of z to use bzip2. It's slightly slower but compresses # more. Beware that images, videos and such do not compress well. cd /PATH/NOT/IN/HOME/FOLDER; tar czf backup.tgz /PATH/TO/HOME/FOLDER  # If you only have access to your home folder you can modify the command to # look like so, regular expressions are your friend here. tar czf backup.tgz FOLDER1 FOLDER2 FILE3  # The mail program may be disabled and uses the local SMTP server so depending # on your mail setup it may never even get to your inbox because it is flagged # as unverified mail (Spam). For example, Gmail or a domain not hosted on that # same server will almost most certainly not work. If this fails to work you # can create a PHP or Python script that actually allows you to set the SMTP # server. An alternative is to have this script echo some output and have cron # send the output to you instead. It's dependent on your setup. # -s Subject #  mail -s "Backup Done!" "youremailaddress@wherever.com" 

Установите скрипт в executetable ( chmod 755 nameOfScript.sh) и запишите, где вы сохранили его на своем

Получение Crontab для запуска сценария оболочки

Чтобы настроить свой crontab из командной строки, войдите, crontab -eчтобы отредактировать файл crontab. Расположение файла выглядит следующим образом:

* * * * * command to be executed - - - - - | | | | | | | | | +----- day of week (0 - 6) (Sunday=0) | | | +------- month (1 - 12) | | +--------- day of month (1 - 31) | +----------- hour (0 - 23) +------------- min (0 - 59) 

Источник диаграммы: выбор администратора

В этом случае добавьте строку, например:

33 0 * * * /PATH/TO/HOME/FOLDER/nameOfScript.sh 

будет запускать сценарий каждый день в 0:33 / 00:33.

Если вы хотите узнать больше проверить страницы человека для tar, mailи crontab. Они незаменимы при работе с администрацией UNIX в любой форме. С помощью uuencodeвы можете даже отправить по электронной почте весь сайт для себя, если он был достаточно маленьким.

Отличный ответ, большое спасибо. Ian 14 лет назад 0

Похожие вопросы