sql >> Databasteknik >  >> RDS >> Mysql

Hur skapar jag Cron-jobb för att säkerhetskopiera MySQL och FTP-säkerhetskopiering till min backup-server?

Detta är ett mycket enkelt tillvägagångssätt med hjälp av ftp-kommandoraden ftp-klient:

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

Obs! Det här tillvägagångssättet har ett antal problem:

  • ftp är okrypterat, så alla som kan sniffa nätverket kan se både lösenordet och databasdata. Att leda den genom gpg -e [nyckel] kan användas för att kryptera dumpen men ftp-lösenorden förblir okrypterade (sftp, scp är bättre alternativ)
  • om någon hackar databasservern kan han använda användarinformationen i det här skriptet för att komma åt ftp-servern och beroende på rättigheter radera säkerhetskopiorna (detta har hänt i den verkliga världen:http://seclists.org/fulldisclosure/2009/Jun/0048.html )


  1. Hur skulle jag få psycopg2-loggning av frågekörningstiden?

  2. Optimera MySQL-fråga för att undvika att skanna många rader

  3. mysql PDO hur man binder LIKE

  4. Hur kan jag ändra min standarddatabas i SQL Server utan att använda MS SQL Server Management Studio?