Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. `sudo apt-get install zip unzip`
  2.  
  3. `ssh-keygen` và gõ enter cho đến khi kết thúc về terminal bình thường.(làm trên cả 2 server)
  4.  
  5. Ở server có mysql cần backup, `cat ~/.ssh/id_rsa.pub` .Copy toàn bộ key in ra màn hình. Sau đó sang con server cần backup dữ liệu sang, mở file `nano ~/.ssh/authorized_keys` và paste key được copy từ server kia, lưu file.
  6.  
  7. Ở server cần backup từ server khác, `cat ~/.ssh/id_rsa.pub`. Copy toàn bộ key in ra màn hình. Sau đó sang conver có db cần backup, mở file `nano ~/.ssh/known_hosts` và paste key vừa copy bên server kia, lưu file.
  8.  
  9. Ở server có mysql cần backup, tạo thư mục chứa script `mkdir /home/backup_mysql && cd /home/backup_mysql`. Tạo file `nano backup_mysql.py` và copy:
  10.  
  11. ```javascript
  12. #!/usr/bin/env python
  13.  
  14. import subprocess as spr
  15. import argparse
  16. import logging
  17. from datetime import datetime
  18.  
  19. dump_run = "/usr/bin/mysqldump"
  20. user_root = "-u root"
  21. time_backup = datetime.now().strftime("%Hh-%d-%m-%Y")
  22.  
  23.  
  24. def backup(db_name):
  25. file_backup = "{}.{}.sql".format(time_backup, db_name)
  26. file_sql = db_name + ".sql"
  27. dump_ = "{} {} {} > {}".format(dump_run, user_root, db_name, file_backup)
  28. spr.check_output(dump_, shell=True)
  29.  
  30. # change_file_name = "/bin/mv {} {}".format(file_sql, file_backup)
  31. # spr.check_output(change_file_name, shell=True)
  32. return file_backup
  33.  
  34. def scp_backup(file_backup, host_name):
  35. file_zip = "{}.zip".format(file_backup)
  36. zip_sql = "/usr/bin/zip {} {}".format(file_zip, file_backup)
  37. spr.check_output(zip_sql, shell=True)
  38.  
  39. scp_ = "/usr/bin/scp {} {}".format(file_zip, host_name)
  40. spr.check_output(scp_, shell=True)
  41.  
  42.  
  43. if __name__ == "__main__":
  44. import argparse
  45. parser = argparse.ArgumentParser()
  46. parser.add_argument("database", help="This's database name you use here")
  47. parser.add_argument("host", help="This's host name you use here")
  48. args = parser.parse_args()
  49.  
  50. database = args.database
  51. host_name = args.host
  52.  
  53. file_backup_ = backup(database)
  54. scp_backup(file_backup_, host_name)
  55. ```
  56.  
  57. lưu file và chạy ` python backup_mysql.py dai root@45.32.43.0:/home/backup`
  58.  
  59. với:
  60.  
  61. dai - tên database cần backup
  62.  
  63. root@45.32.43.0:/home/backup - tên host và thư mục cần lưu file backup (thư mục phải tạo sẵn)
  64.  
  65. Lần đầu tiên chạy nó sẽ báo có muốn tiếp tục connect đến server khác ko `Are you sure you want to continue connecting (yes/no)? yes
  66. `, gõ "yes" và enter.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement