ÔõÑùÔÚLinuxÉϱ¸·ÝºÍ»¹ÔÊý¾Ý¿â
ÔõÑùÔÚlinuxÉϱ¸·ÝºÍ»¹ÔÊý¾Ý¿â
ÔÚLinux²Ù×÷ϵͳÖУ¬±¸·ÝºÍ»¹ÔÊý¾Ý¿âÊÇÒ»ÏîºÜÊÇÖ÷ÒªµÄʹÃü¡£ÎÞÂÛÊÇΪÁ˱ÜÃâÊý¾Ýɥʧ£¬ÕÕ¾ÉΪÁËǨáãÊý¾Ý¿â£¬¶¼ÐèÒªÕÆÎÕÕâÒ»ÊÖÒÕ¡£±¾ÎĽ«ÏÈÈÝÔÚLinuxÉÏÔõÑù¾ÙÐÐÊý¾Ý¿â±¸·ÝºÍ»¹ÔµÄÒªÁ죬²¢ÌṩÏìÓ¦µÄ´úÂëʾÀý¡£
Ò»¡¢±¸·ÝÊý¾Ý¿â
ʹÓÃmysqldumpÏÂÁ·ÝMySQLÊý¾Ý¿â
MySQLÊÇ¿ªÔ´¹ØϵÐÍÊý¾Ý¿âÖÎÀíϵͳ£¬±¸·ÝMySQLÊý¾Ý¿â¿ÉÒÔʹÓÃmysqldumpÏÂÁî¡£ÈçÏÂËùʾ£º
mysqldump -u <username> -p<password> <database_name> > <backup_file.sql>
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬ ÊÇÊý¾Ý¿âµÄÓû§Ãû£¬ ÊÇÊý¾Ý¿âµÄÃÜÂ룬 ÊÇÒª±¸·ÝµÄÊý¾Ý¿âÃû³Æ£¬ ÊDZ¸·ÝÎļþµÄ·¾¶¼°ÎļþÃû¡£ÀýÈ磬Ҫ±¸·ÝÃûΪ”mydb”µÄÊý¾Ý¿â£¬¿ÉÒÔÖ´ÐÐÒÔÏÂÏÂÁ
mysqldump -u root -p123456 mydb > /backup/mydb_backup.sql
µÇ¼ºó¸´ÖÆ
ʹÓÃpg_dumpÏÂÁ·ÝPostgreSQLÊý¾Ý¿â
ÀàËƵأ¬±¸·ÝPostgreSQLÊý¾Ý¿â¿ÉÒÔʹÓÃpg_dumpÏÂÁî¡£ÈçÏÂËùʾ£º
pg_dump -U <username> -W -Ft <database_name> -f <backup_file.tar>
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬ ÊÇÊý¾Ý¿âµÄÓû§Ãû£¬ ÊÇÒª±¸·ÝµÄÊý¾Ý¿âÃû³Æ£¬ ÊDZ¸·ÝÎļþµÄ·¾¶¼°ÎļþÃû¡£ÀýÈ磬Ҫ±¸·ÝÃûΪ”mydb”µÄÊý¾Ý¿â£¬¿ÉÒÔÖ´ÐÐÒÔÏÂÏÂÁ
pg_dump -U postgres -W -Ft mydb -f /backup/mydb_backup.tar
µÇ¼ºó¸´ÖÆ
¶þ¡¢»¹ÔÊý¾Ý¿â
»¹ÔMySQLÊý¾Ý¿â
Òª»¹ÔMySQLÊý¾Ý¿â£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
mysql -u <username> -p<password> <database_name> < <backup_file.sql>
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬ ÊÇÊý¾Ý¿âµÄÓû§Ãû£¬ ÊÇÊý¾Ý¿âµÄÃÜÂ룬 ÊÇÒª»¹ÔµÄÊý¾Ý¿âÃû³Æ£¬ ÊDZ¸·ÝÎļþµÄ·¾¶¼°ÎļþÃû¡£ÀýÈ磬Ҫ½«±¸·ÝÎļþ”mydb_backup.sql”»¹Ôµ½ÃûΪ”mydb”µÄÊý¾Ý¿âÖУ¬¿ÉÒÔÖ´ÐÐÒÔÏÂÏÂÁ
mysql -u root -p123456 mydb < /backup/mydb_backup.sql
µÇ¼ºó¸´ÖÆ
»¹ÔPostgreSQLÊý¾Ý¿â
Òª»¹ÔPostgreSQLÊý¾Ý¿â£¬¿ÉÒÔʹÓÃÒÔÏÂÏÂÁ
pg_restore -U <username> -d <database_name> <backup_file.tar>
µÇ¼ºó¸´ÖÆ
ÆäÖУ¬ ÊÇÊý¾Ý¿âµÄÓû§Ãû£¬ ÊÇÒª»¹ÔµÄÊý¾Ý¿âÃû³Æ£¬ ÊDZ¸·ÝÎļþµÄ·¾¶¼°ÎļþÃû¡£ÀýÈ磬Ҫ½«±¸·ÝÎļþ”mydb_backup.tar”»¹Ôµ½ÃûΪ”mydb”µÄÊý¾Ý¿âÖУ¬¿ÉÒÔÖ´ÐÐÒÔÏÂÏÂÁ
pg_restore -U postgres -d mydb /backup/mydb_backup.tar
µÇ¼ºó¸´ÖÆ
Èý¡¢°´ÆÚ±¸·ÝÊý¾Ý¿â
°´ÆÚ±¸·ÝÊý¾Ý¿â¿ÉÒÔ°ü¹ÜÊý¾ÝµÄÇå¾²ÐÔºÍÍêÕûÐÔ¡£Í¨¹ý±àдShell¾ç±¾£¬²¢Ê¹ÓÃcrontab׼ʱʹÃü£¬¿ÉÒÔʵÏÖ×Ô¶¯±¸·ÝÊý¾Ý¿â¡£
ÏÂÃæÊÇÒ»¸ö¼òÆӵı¸·Ý¾ç±¾Ê¾Àý£º
#!/bin/bash #Êý¾Ý¿â±¸·Ý·¾¶ backup_dir="/backup" #Êý¾Ý¿âÓû§Ãû username="root" #Êý¾Ý¿âÃÜÂë password="123456" #ÐèÒª±¸·ÝµÄÊý¾Ý¿âÃû³Æ database_name="mydb" #±¸·ÝÎļþÃû backup_file="${backup_dir}/${database_name}_backup_$(date +%Y%m%d%H%M%S).sql" #Ö´Ðб¸·ÝÏÂÁî mysqldump -u ${username} -p${password} ${database_name} > ${backup_file} #ɾ³ýÓâÆÚ±¸·Ý£¨±£´æ×î½ü7ÌìµÄ±¸·Ý£© find ${backup_dir} -name "${database_name}_backup_*" -type f -mtime +7 -exec rm -f {} ;
µÇ¼ºó¸´ÖÆ
½«ÉÏÊö¾ç±¾ÉúÑÄΪbackup.sh£¬²¢Ìí¼Ó¿ÉÖ´ÐÐȨÏÞ¡£
½Ó×Å£¬Ê¹ÓÃcrontabÌí¼Ó׼ʱʹÃü£º
crontab -e
µÇ¼ºó¸´ÖÆ
ÔÚ·¿ªµÄÎļþÖУ¬Ìí¼ÓÒÔÏÂÄÚÈÝ£¬ÌåÏÖÖðÈÕÆÆÏþ2µãÖ´Ðб¸·ÝʹÃü£º
0 2 * * * /bin/bash /path/to/backup.sh
µÇ¼ºó¸´ÖÆ
ÉúÑIJ¢Í˳ö¼´¿É¡£
ͨ¹ýÒÔÉÏÒªÁ죬¿ÉÒÔÔÚLinuxÉÏÇáËɱ¸·ÝºÍ»¹ÔÊý¾Ý¿â£¬²¢°´ÆÚÖ´Ðб¸·ÝʹÃü¡£°ü¹ÜÊý¾Ý¿âµÄÇå¾²ÐÔºÍÍêÕûÐÔ£¬ÊÇ°ü¹ÜÊý¾Ý²»É¥Ê§µÄÖ÷Òª²½·¥Ö®Ò»¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxÉϱ¸·ÝºÍ»¹ÔÊý¾Ý¿âµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡