Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създам Cron задание за архивиране на MySQL и FTP архив на моя сървър за архивиране?

Това е много прост подход, използващ ftp клиента на командния ред lftp:

backup.sh:

mysqldump -f [database] | gzip > /backup/[database].dump.gz
lftp -f /backup/lftp.script

lftp.script:

open backup.ftp.example.com
user [username] [password]
cd /backup
mv webflag.dump.gz.8 webflag.dump.gz.9
mv webflag.dump.gz.7 webflag.dump.gz.8
mv webflag.dump.gz.6 webflag.dump.gz.7
mv webflag.dump.gz.5 webflag.dump.gz.6
mv webflag.dump.gz.4 webflag.dump.gz.5
mv webflag.dump.gz.3 webflag.dump.gz.4
mv webflag.dump.gz.2 webflag.dump.gz.3
mv webflag.dump.gz.1 webflag.dump.gz.2
mv webflag.dump.gz webflag.dump.gz.1

Забележка:Този подход има редица проблеми:

  • ftp не е шифрован, така че всеки, който е в състояние да подуши мрежата, може да види както паролата, така и данните от базата данни. Прехвърлянето му чрез gpg -e [ключ] може да се използва за криптиране на дъмпа, но паролите за ftp остават некриптирани (sftp, scp са по-добри алтернативи)
  • ако някой хакне сървъра на базата данни, той може да използва потребителската информация в този скрипт за достъп до ftp сървъра и в зависимост от правата да изтрие архивите (това се е случило в реалния свят:http://seclists.org/fulldisclosure/2009/Jun/0048.html )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Visual Studio - Неуспешно свързване на таблицата на базата данни MySql с DataSet

  2. защо това не изтегля данни от 7 дни назад?

  3. Как се пише условно в MySQL оператор за избор?

  4. MySQL въртяща таблица с помощта на java

  5. Neo4j - Създайте ограничение с помощта на Cypher