З цієї причини я і задумався, як оптимізувати процес резервного копіювання сайтів. Мій метод полягає в тому, що в певний час, написаний sh скрипт здійснює архівацію файлів на сервері, створює дампи баз даних і зберігає їх у вказану директорію. Нам залишається один або два рази на тиждень підключатися по фтп до сервера і завантажувати зроблені архіви.
Хочу звернути вашу увагу. що приклад показаний на основі хостингу Timeweb (Мне очень нравиться цей Хостіна і більшість моїх проектів розташоване саме на ньому). Нехай це вас не лякає, ви можете легко адаптувати даний приклад під свій хостинг, єдино, що у вас буде відрізнятися, це панель планувальника Cron в веб-інтерфейсі хостингу.
Чи готові? Тоді приступимо!
Налаштування резервного копіювання на віртуальному хостингу Timeweb
Підключаємося по ssh до сервера і створюємо папку для наших бекапов командою:
Відкриваємо створений скрипт на редагування:
Якщо дана команда видасть помилку, спробуйте цю:
У відкритому файлі вставте наступний код:
Натискаємо Ctr + O і Enter, потім Ctr + x.
Коротенько опишу, що робить скрипт:
- У змінну DIR, записуємо поточну дату і час.
- Створюємо в папці backup папку для нашої резервної копії
- Робимо дамп бази даних mysql.
важливо:
- 1. Значення логін користувача повинно починатися з -u далі йти логін користувача,
- 2. Пароль користувача повинен починатися з -p далі йти ваш пароль.
- 3. Значення ім'я бази даних.
- 4. Вкажіть папку й ім'я sql файлу в яку буде зроблений дамп.
Написаний скрипт готовий для роботи. Перед тим як додати його в cron обов'язково запустіть його через консоль і перевірте коректність його роботи.
Запускаємо sh скрипт командою:
Якщо файл відпрацював без помилок, в папці backup повинна з'явитися папка з поточною датою, а в ній дампи бд і архіви з сайтами.
Заходимо в панель управління хостингу в розділ «Crontab» і натискаємо «Додати нове завдання».
Ставимо тип файлу Sh сценарій.
Вказуємо шлях до нашого sh скрипта.
Вказуємо періодичність, з якою повинен запускатися наш скрипт. Налаштування за замовчуванням, думаючи не влаштовують, тому я вибираю «Просунуті настройки».
Дені тижні задаються числами від 0 до 6 (0 неділя). Якщо вам потрібно вказати кілька днів перерахуйте їх через кому.
Числа місяця від 1 до 31.
Місяць вказуємо від 1 до 12
Годинники від 0 до 23
Хвилини від 0 до 59.
Більш докладніше про настройку крон ви можете почитати тут.
Введіть оптимальні для вас налаштування і натисніть зберегти.
І не забудьте вказати поштову скриньку, на який будуть приходити повідомлення від cron.
На сьогодні все! Бережіть себе!