1

Я использую MySQL в качестве системы баз данных для моего приложения в системе Linux. Каждую неделю я обновляю систему и беру резервные копии (mysqldump) из измененных баз данных (2 базы данных). Затем я .tar.gz их и ftp результирующий файл на удаленный сервер, после чего я удаляю оригинальные резервные копии и файлы tar.gz с сервера Linux. Будучи полным новичком, когда дело доходит до систем Unix, я хотел бы знать, возможно ли написать сценарий, который будет делать все это автоматически, то есть выполнять следующие шаги.

1) Резервное копирование базы данных A в A.sql (mysqldump) 2) Резервное копирование базы данных B в B.sql (mysqldump) 3) tar -cvzf dest.tar.gz A.sql B.sql 4) ftp dest.tar.gz в ftp @ remoteserver.com 5) Удалить A.sql, B.sql, dest.tar с локального сервера

Было бы здорово, если бы я мог сделать несколько шагов в правильном направлении! Заранее спасибо Тим

2 ответа2

1

Ниже приведен основной пример. Есть много примеров выполнения сценариев mysqldump, я просто вставил один из них.

#!/bin/bash -e
# 

#Define dumpfile name
MYSQLBACKUP= /tmp/dbackup

#Perform MySQL dump
#Replace appropriate USER, PASSWORD and paths to mysqldump, socket, etc.
#Drop in you preferred method - tar versus gzip, etc.
/usr/bin/mysqldump --all-databases -S /tmp/mysql.sock -uUSER -pPASSWORD | gzip -c > $MYSQLBACKUP

#FTP Backup file to remote FTP server
#Replace 192.1681.1.1 with IP address of remote server
#Replace USER & PASSWORD
echo "open 192.168.1.1 
      user USER PASSWORD  
      verbose 
      cd /some/directory/on/remote/server
      bin 
      prompt
      mput $MYSQLBACKUP
      close 
      quit" | ftp -n >> /tmp/somelogfile

#Remove the file post transfer.  Need to be sure it was ftp'd first
rm -f "MYSQLBACKUP"

0

у вас есть SSH на remoteserver.com? - если это так, было бы проще создавать сценарии с помощью scp из набора инструментов ssh и с помощью ключа ssh, чтобы вы могли войти без пароля. Таким образом, копирование файла / выполнение его rsync - всего одна команда.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .