first commit · 5eb758d709 - SVN.BY: Go Git Service
Browse Source

first commit

Shumko Aliaksandr 7 years ago
parent
commit
5eb758d709

+ 37 - 0
MYSQL_B2/install_stript.sh

@@ -0,0 +1,37 @@
1
+#!/bin/bash
2
+
3
+
4
+#create dir and copy files
5
+mkdir /backup/cloud_backup
6
+mkdir /backup/cloud_backup/data
7
+mkdir /backup/cloud_backup/script
8
+mkdir /backup/cloud_backup/data/db
9
+mkdir /backup/cloud_backup/data/media
10
+mkdir /backup/cloud_backup/log
11
+cp script_backup_base.sh /backup/cloud_backup/script/script_backup_base.sh
12
+
13
+#change permission
14
+chmod 777 -R /backup/cloud_backup
15
+cmod +x /backup/cloud_backup/script/script_backup_base.sh
16
+# download files
17
+wget http://downloads.rclone.org/rclone-v1.35-linux-amd64.zip
18
+#unpack rclone
19
+unzip rclone-v1.35-linux-amd64.zip
20
+cd rclone-v1.35-linux-amd64
21
+sudo cp rclone /usr/sbin/
22
+sudo chown root:root /usr/sbin/rclone
23
+sudo chmod 755 /usr/sbin/rclone
24
+sudo mkdir -p /usr/local/share/man/man1
25
+sudo cp rclone.1 /usr/local/share/man/man1/
26
+rclone config
27
+
28
+#create cron job
29
+#write out current crontab
30
+crontab -l > mycron
31
+#echo new cron into cron file
32
+echo "0 0 * * * /bin/bash /backup/cloud_backup/script/script_backup_base.sh" >> mycron
33
+#install new cron file
34
+crontab mycron
35
+rm mycron
36
+#All ok finish
37
+echo "FNISH INSTALL. ALL OK/"

+ 52 - 0
MYSQL_B2/script_backup_base.sh

@@ -0,0 +1,52 @@
1
+#!/bin/bash
2
+## 
3
+# Backup database with arhive
4
+
5
+LOGFILE=/backup/cloud_backup/log/script_log_file_`date +%F_%H-%M`.log
6
+BASEARHIVE=/backup/cloud_backup/data/db/woorder_py_db_`date +%F_%H-%M`.gz
7
+#path to B2 files 
8
+CLOUDPATHDB=FOLDER/db
9
+CLOUDPATHMEDIA=FOLDER/media
10
+#db config
11
+PG_USER=USERNAME
12
+PG_DB=DATABASE
13
+PG_PASSWORD=PASSOWRD
14
+PG_HOST=localhost
15
+DB_PATH=/backup/cloud_backup/data/db/
16
+#media data
17
+MEDIAPATH=/var/www/data/
18
+TARMEDIAPATH=/backup/cloud_backup/data/media/media_`date +%F_%H-%M`.tar.gz
19
+TARMEDIADIRPATH=/backup/cloud_backup/data/media/
20
+# log filelist
21
+LOGPATH=/backup/cloud_backup/log
22
+LOG_ERROR=/backup/cloud_backup/log/error.log
23
+
24
+log(){
25
+   message="$(date +"%y-%m-%d %T") $@"
26
+   echo $message >> $LOGFILE
27
+}
28
+
29
+#Start
30
+log "start script"
31
+# dump db
32
+log "start dump db"
33
+/usr/bin/mysqldump -u$PG_USER -p$PG_PASSWORD -B $PG_DB | gzip -9 > $BASEARHIVE ##  uncomment if need dump logs ##  2> /home/support/cloud_backup/log/script_log_file.log
34
+sleep 1m
35
+# move database to cloud
36
+log "moving db files"
37
+/usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $DB_PATH cloud:$CLOUDPATHDB
38
+2>> $LOG_ERROR
39
+sleep 1m
40
+# backup media files
41
+log "arhive media files"
42
+tar -czf $TARMEDIAPATH $MEDIAPATH
43
+sleep 1m
44
+# move files to cloud
45
+log "moving media files"
46
+/usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $TARMEDIADIRPATH cloud:$CLOUDPATHMEDIA  2>> $LOG_ERROR
47
+sleep 5s
48
+i=30 #days for save log file
49
+log "delete old logs"
50
+find $LOGPATH/ -type f -mtime +$i -print0 | xargs -0 rm -f
51
+sleep 5s
52
+log "stop script"

+ 42 - 0
PG_B2/install_stript.sh

@@ -0,0 +1,42 @@
1
+#!/bin/bash
2
+
3
+#DB config format- HOST:PORT:DATABASE_NAME:USER:PASSWORD
4
+PGPASFILE=localhost:5432:::
5
+
6
+#create dir and copy files
7
+mkdir /backup/cloud_backup
8
+mkdir /backup/cloud_backup/data
9
+mkdir /backup/cloud_backup/script
10
+mkdir /backup/cloud_backup/data/db
11
+mkdir /backup/cloud_backup/data/media
12
+mkdir /backup/cloud_backup/log
13
+cp script_backup_base.sh /backup/cloud_backup/script/script_backup_base.sh
14
+
15
+#change permission
16
+chmod 777 -R /backup/cloud_backup
17
+cmod +x /backup/cloud_backup/script/script_backup_base.sh
18
+# download files
19
+wget http://downloads.rclone.org/rclone-v1.35-linux-amd64.zip
20
+#unpack rclone
21
+unzip rclone-v1.35-linux-amd64.zip
22
+cd rclone-v1.35-linux-amd64
23
+sudo cp rclone /usr/sbin/
24
+sudo chown root:root /usr/sbin/rclone
25
+sudo chmod 755 /usr/sbin/rclone
26
+sudo mkdir -p /usr/local/share/man/man1
27
+sudo cp rclone.1 /usr/local/share/man/man1/
28
+rclone config
29
+
30
+#create cron job
31
+#write out current crontab
32
+crontab -l > mycron
33
+#echo new cron into cron file
34
+echo "0 0 * * * /bin/bash /backup/cloud_backup/script/script_backup_base.sh" >> mycron
35
+#install new cron file
36
+crontab mycron
37
+rm mycron
38
+#create batabase data file
39
+echo $PGPASFILE >> ~/.pgpass 
40
+chmod 600 ~/.pgpass
41
+#All ok finish
42
+echo "FNISH INSTALL. ALL OK/"

+ 52 - 0
PG_B2/script_backup_base.sh

@@ -0,0 +1,52 @@
1
+#!/bin/bash
2
+## 
3
+# Backup database with arhive
4
+
5
+LOGFILE=/backup/cloud_backup/log/script_log_file_`date +%F_%H-%M`.log
6
+BASEARHIVE=/backup/cloud_backup/data/db/woorder_py_db_`date +%F_%H-%M`.gz
7
+#path to B2 files 
8
+CLOUDPATHDB=FOLDER/db
9
+CLOUDPATHMEDIA=FOLDER/media
10
+#db config
11
+PG_USER=USERNAME
12
+PG_DB=DATABASE
13
+PG_HOST=localhost
14
+DB_PATH=/backup/cloud_backup/data/db/
15
+#media data
16
+MEDIAPATH=/var/www/data/
17
+TARMEDIAPATH=/backup/cloud_backup/data/media/media_`date +%F_%H-%M`.tar.gz
18
+TARMEDIADIRPATH=/backup/cloud_backup/data/media/
19
+# log filelist
20
+LOGPATH=/backup/cloud_backup/log
21
+LOG_ERROR=/backup/cloud_backup/log/error.log
22
+
23
+
24
+log(){
25
+   message="$(date +"%y-%m-%d %T") $@"
26
+   echo $message >> $LOGFILE
27
+}
28
+
29
+#Start
30
+log "start script"
31
+# dump db
32
+log "start dump db"
33
+pg_dump -U $PG_USER -d $PG_DB -h $PG_HOST | gzip -9 > $BASEARHIVE ##  uncomment if need dump logs ##  2> /home/support/cloud_backup/log/script_log_file.log
34
+sleep 1m
35
+# move database to cloud
36
+log "moving db files"
37
+/usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $DB_PATH cloud:$CLOUDPATHDB
38
+2>> $LOG_ERROR
39
+sleep 1m
40
+# backup media files
41
+log "arhive media files"
42
+tar -czf $TARMEDIAPATH $MEDIAPATH
43
+sleep 1m
44
+# move files to cloud
45
+log "moving media files"
46
+/usr/sbin/rclone --log-file=$LOGPATH/log_`date +%F_%H-%M`_rclone.log move $TARMEDIADIRPATH cloud:$CLOUDPATHMEDIA  2>> $LOG_ERROR
47
+sleep 5s
48
+i=30 #days for save log file
49
+log "delete old logs"
50
+find $LOGPATH/ -type f -mtime +$i -print0 | xargs -0 rm -f
51
+sleep 5s
52
+log "stop script"

BIN
Настройка backup в BlackBlaze b2.docx