Browse Source

bakugan al toke

amenpunk 3 years ago
parent
commit
212b3d89c5
3 changed files with 29 additions and 13 deletions
  1. 29 12
      app.py
  2. BIN
      dump/test001/coleccion1.bson
  3. 0 1
      dump/test001/coleccion1.metadata.json

+ 29 - 12
app.py

@@ -2,6 +2,13 @@ import os
2 2
 from datetime import datetime, timedelta
3 3
 import ftplib
4 4
 from subprocess import Popen, PIPE
5
+import shutil
6
+
7
+'''
8
+ TODO
9
+ mysql bulk BDEGT database backup to dev testing db
10
+ zip mongodb backup and put on over FTP
11
+'''
5 12
 
6 13
 # DB_LIST = ['BDECR', 'BDEDO', 'BDEGT', 'BDEHN', 'BDENI', 'BDEPA', 'BDESV']
7 14
 # DB_LIST = ['TestDB', 'backuptest']
@@ -28,18 +35,18 @@ def OpenFTP(server='FACTOR'):
28 35
             ftp.cwd('upload')
29 36
             return ftp
30 37
         else:
31
-            ## port 2023
38
+            ## ---- firewall ftp port -> 2023
32 39
             ftp = ftplib.FTP()
33 40
             ftp.connect("190.122.187.218", 2023)
34 41
             ftp.login("ming", 'dit2020 2020')
35
-
42
+            return ftp
36 43
     except ftplib.Error as er:
37 44
         print(f'FTP open error { er }')
38 45
     return
39 46
 
40 47
 def DeleteFromSSHStorage(filename):
41 48
     try:
42
-        ftp = OpenFTP()
49
+        ftp = OpenFTP('FIREWALL')
43 50
         ftp.delete(filename)
44 51
         ftp.close()
45 52
     except BaseException as e:
@@ -68,7 +75,7 @@ def DeleteFactorRH():
68 75
 
69 76
 def PutOverSSH(path='/home/ming/CODE/PyKup/backup/BDEDO-20082021-1145.sql',remote='mingmecca.sql'):
70 77
     try:
71
-        ftp = OpenFTP()
78
+        ftp = OpenFTP('FIREWALL')
72 79
         with open(path, "rb") as file:
73 80
             ftp.storbinary('STOR %s' % remote, file)
74 81
         ftp.close()
@@ -78,21 +85,33 @@ def PutOverSSH(path='/home/ming/CODE/PyKup/backup/BDEDO-20082021-1145.sql',remot
78 85
     return
79 86
 
80 87
 def MongoBK():
81
-    BACKUP_PATH = './backup/mongo/'
88
+    BACKUP_PATH = os.getcwd() + '/backup/mongo/'
82 89
     try:
83 90
         os.stat(BACKUP_PATH)
84 91
     except:
85 92
         os.mkdir(BACKUP_PATH)
86 93
 
87 94
     mongo_url = 'mongodb://QAadmin:QA20172017@165.227.177.95:27017/test001?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false'
88
-    # mongo_url = 'mongodb://QAadmin:QA20172017@165.227.177.95:27017/candidocu_js?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false'
89
-    command = 'mongodump --uri ' + mongo_url + ' -o ' + BACKUP_PATH
95
+    command = 'mongodump'+ ' -o ' + BACKUP_PATH + ' --uri ' + mongo_url
90 96
 
91 97
     with Popen(command, stdout=PIPE, stderr=None, shell=True) as process:
92 98
         output = process.communicate()[0].decode("utf-8")
93 99
         print(output)
94 100
 
95 101
 
102
+    FILE_NAME = 'MONGO-' + datetime.now().strftime('%Y-%m-%d')
103
+    FILE_DELETE_NAME = 'MONGO-' + lessDate(datetime.now(), 3) + ".zip"
104
+
105
+    shutil.make_archive(FILE_NAME, 'zip', BACKUP_PATH )
106
+
107
+    if( os.path.isdir( BACKUP_PATH )):
108
+        shutil.rmtree(BACKUP_PATH)
109
+
110
+    FILE_NAME = FILE_NAME + ".zip"
111
+    PutOverSSH(FILE_NAME, FILE_NAME)
112
+    DeleteFromSSHStorage(FILE_DELETE_NAME)
113
+
114
+
96 115
 
97 116
 def MysqlBK():
98 117
     BACKUP_PATH = 'backup/mysql/'
@@ -123,8 +142,6 @@ def MysqlBK():
123 142
         DeleteFromSSHStorage( f'{DB_NAME}-' + TO_DELETE + '.sql' )
124 143
     return
125 144
 
126
-MysqlBK()
127
-DeleteFactorRH()
128
-# MongoBK()
129
-# Backup()
130
-# PutOverSSH()
145
+# MysqlBK()
146
+# DeleteFactorRH()
147
+MongoBK()

BIN
dump/test001/coleccion1.bson


+ 0 - 1
dump/test001/coleccion1.metadata.json

@@ -1 +0,0 @@
1
-{"options":{"autoIndexId":true},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"test001.coleccion1"}],"collectionName":"coleccion1"}