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
 from datetime import datetime, timedelta
2
 from datetime import datetime, timedelta
3
 import ftplib
3
 import ftplib
4
 from subprocess import Popen, PIPE
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
 # DB_LIST = ['BDECR', 'BDEDO', 'BDEGT', 'BDEHN', 'BDENI', 'BDEPA', 'BDESV']
13
 # DB_LIST = ['BDECR', 'BDEDO', 'BDEGT', 'BDEHN', 'BDENI', 'BDEPA', 'BDESV']
7
 # DB_LIST = ['TestDB', 'backuptest']
14
 # DB_LIST = ['TestDB', 'backuptest']
28
             ftp.cwd('upload')
35
             ftp.cwd('upload')
29
             return ftp
36
             return ftp
30
         else:
37
         else:
31
-            ## port 2023
38
+            ## ---- firewall ftp port -> 2023
32
             ftp = ftplib.FTP()
39
             ftp = ftplib.FTP()
33
             ftp.connect("190.122.187.218", 2023)
40
             ftp.connect("190.122.187.218", 2023)
34
             ftp.login("ming", 'dit2020 2020')
41
             ftp.login("ming", 'dit2020 2020')
35
-
42
+            return ftp
36
     except ftplib.Error as er:
43
     except ftplib.Error as er:
37
         print(f'FTP open error { er }')
44
         print(f'FTP open error { er }')
38
     return
45
     return
39
 
46
 
40
 def DeleteFromSSHStorage(filename):
47
 def DeleteFromSSHStorage(filename):
41
     try:
48
     try:
42
-        ftp = OpenFTP()
49
+        ftp = OpenFTP('FIREWALL')
43
         ftp.delete(filename)
50
         ftp.delete(filename)
44
         ftp.close()
51
         ftp.close()
45
     except BaseException as e:
52
     except BaseException as e:
68
 
75
 
69
 def PutOverSSH(path='/home/ming/CODE/PyKup/backup/BDEDO-20082021-1145.sql',remote='mingmecca.sql'):
76
 def PutOverSSH(path='/home/ming/CODE/PyKup/backup/BDEDO-20082021-1145.sql',remote='mingmecca.sql'):
70
     try:
77
     try:
71
-        ftp = OpenFTP()
78
+        ftp = OpenFTP('FIREWALL')
72
         with open(path, "rb") as file:
79
         with open(path, "rb") as file:
73
             ftp.storbinary('STOR %s' % remote, file)
80
             ftp.storbinary('STOR %s' % remote, file)
74
         ftp.close()
81
         ftp.close()
78
     return
85
     return
79
 
86
 
80
 def MongoBK():
87
 def MongoBK():
81
-    BACKUP_PATH = './backup/mongo/'
88
+    BACKUP_PATH = os.getcwd() + '/backup/mongo/'
82
     try:
89
     try:
83
         os.stat(BACKUP_PATH)
90
         os.stat(BACKUP_PATH)
84
     except:
91
     except:
85
         os.mkdir(BACKUP_PATH)
92
         os.mkdir(BACKUP_PATH)
86
 
93
 
87
     mongo_url = 'mongodb://QAadmin:QA20172017@165.227.177.95:27017/test001?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false'
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
     with Popen(command, stdout=PIPE, stderr=None, shell=True) as process:
97
     with Popen(command, stdout=PIPE, stderr=None, shell=True) as process:
92
         output = process.communicate()[0].decode("utf-8")
98
         output = process.communicate()[0].decode("utf-8")
93
         print(output)
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
 def MysqlBK():
116
 def MysqlBK():
98
     BACKUP_PATH = 'backup/mysql/'
117
     BACKUP_PATH = 'backup/mysql/'
123
         DeleteFromSSHStorage( f'{DB_NAME}-' + TO_DELETE + '.sql' )
142
         DeleteFromSSHStorage( f'{DB_NAME}-' + TO_DELETE + '.sql' )
124
     return
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
-{"options":{"autoIndexId":true},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"test001.coleccion1"}],"collectionName":"coleccion1"}