sql >> Database teknologi >  >> RDS >> Mysql

Sådan sikkerhedskopieres MySQL-databaser ved hjælp af cron-job

Denne artikel beskriver, hvordan man opsætter et cron-job, der automatisk sikkerhedskopierer en MySQL-database til en fil med bestemte intervaller.

Automatisk databasesikkerhedskopiering ved hjælp af cron-jobs

Der er to måder at køre cron-job på, der sikkerhedskopierer en MySQL-database. Du kan enten inkludere MySQL-loginoplysninger i selve cron-job-kommandoen, eller du kan bruge en konfigurationsfil til at gemme MySQL-loginoplysningerne.

Metode #1:Inkluder MySQL-loginoplysninger i cron-job-kommandoen

Du kan køre planlagte sikkerhedskopier af en MySQL-database ved at oprette et cron-job, der kører følgende kommando:

/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql

Erstat dbusername med databasebrugeren, dbpassword med databasebrugerens adgangskode, dbname med databasen, der skal sikkerhedskopieres, og sti med stien, hvor du vil gemme backupfilen. Dette eksempel bruger backup.sql for sikkerhedskopiens filnavn, men du kan bruge et hvilket som helst filnavn, du ønsker.

  • De enkelte anførselstegn (') omkring adgangskoden sikrer, at eventuelle specialtegn behandles korrekt.
  • Når kommandoen kører korrekt, genereres der ikke noget output. Men hvis der er en fejl eller forkert konfiguration, kan du, afhængigt af din kontokonfiguration, modtage en e-mail-meddelelse, der indeholder kommandooutputtet. For at undertrykke e-mail-meddelelser, når kommandoen mislykkes, skal du tilføje følgende tekst til slutningen af ​​cron-job-kommandoen:
    2>/dev/null

    De fleste mennesker vil dog gerne have besked, når et cron-job mislykkes.

For information om, hvordan du bruger cPanel til at oprette et cron-job, se venligst denne artikel.

Metode #2:Brug en konfigurationsfil til at gemme MySQL-loginoplysninger

Alternativt kan du oprette en konfigurationsfil i dit hjemmebibliotek, der gemmer MySQL-loginoplysninger. Ved at bruge denne metode behøver du ikke at inkludere login-oplysninger i dine cron-job-kommandoer. For at gøre dette skal du følge disse trin:

  1. Opret en fil med navnet .my.cnf i dit /home/ brugernavn bibliotek, der erstatter brugernavn med dit kontobrugernavn. Sørg for at inkludere den førende . i filnavnet.
  2. Kopiér og indsæt følgende tekst i .my.cnf fil. Erstat dbusername med databasebrugeren og erstat dbpassword med databasebrugerens adgangskode:
    [client]
    user = dbusername
    password = "dbpassword"
    host = localhost
  3. Opret et cron-job, der kører følgende kommando. Erstat dbname med navnet på den database, der skal sikkerhedskopieres, og erstat stien med stien til at gemme sikkerhedskopieringsfilen. Dette eksempel bruger backup.sql for sikkerhedskopiens filnavn, men du kan bruge et hvilket som helst filnavn, du ønsker:

    mysqldump --routines dbname > /path/backup.sql

    Når kommandoen kører korrekt, genereres der ikke noget output. Men hvis der er en fejl eller forkert konfiguration, kan du, afhængigt af din kontokonfiguration, modtage en e-mail, der indeholder kommandoen. For at undertrykke e-mail-meddelelser, når kommandoen mislykkes, skal du tilføje følgende tekst til slutningen af ​​cron-job-kommandoen:

    2>/dev/null

    De fleste mennesker vil dog gerne have besked, når et cron-job mislykkes.

    For information om, hvordan du bruger cPanel til at oprette et cron-job, se venligst denne artikel.

Flere oplysninger

For mere information om mysqldump program, besøg venligst http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.


  1. Sådan forårsrenser du din database

  2. Android JDBC virker ikke:ClassNotFoundException på driveren

  3. SQL Server AlwaysOn ( Availability Group ) Arkitektur og trin for trin installation -1

  4. Oracle Indekser og typer af indekser i Oracle med eksempel