Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mylib
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
PotatoGim
mylib
Commits
3caad3d7
Commit
3caad3d7
authored
Nov 09, 2015
by
PotatoGim
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add a script for system backup.
parent
a1f0dc8a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
113 additions
and
0 deletions
+113
-0
backup.sh
bash/backup.sh
+113
-0
No files found.
bash/backup.sh
0 → 100755
View file @
3caad3d7
#!/bin/bash
#===========================================================================
# FILE: backup.sh
# USAGE: ./backup.sh
# DESCRIPTION: 시스템 백업을 위한 스크립트
# OPTIONS: ---
# VERSIOH: 0.01
# NOTES: ---
# AUTHOR: Ji-Hyeon Gim <potatogim@potatogim.net>
# COPYRIGHT: Copyleft(c) 2015 by Ji-Hyeon Gim.
# LICENSE: GNU General Public License v2.0
# DATE: 2015년 11월 09일 12:58
#===========================================================================
##############################################################################
# Preprocess
##############################################################################
DATE
=
`
date
+
"%Y%m%d"
`
PREV_DATE
=
`
date
--date
'7 days ago '
+
"%Y%m%d"
`
BACKUP_DIR
=
"/home/potatogim/backup"
SPARE_DIR
=
"/mnt/data/spare"
LOG_DIR
=
"/var/log"
LOG_FILE
=
"
${
LOG_DIR
}
/backup_
${
DATE
}
.log"
OLD_LOG_FILE
=
"
${
LOG_DIR
}
/backup_
${
PREV_DATE
}
.log"
##############################################################################
# Ready to log
##############################################################################
if
[
-f
$LOG_FILE
]
;
then
rm
-f
$LOG_FILE
fi
if
[
-f
$OLD_LOG_FILE
]
;
then
rm
-f
$OLD_LOG_FILE
fi
exec
3<
>
$LOG_FILE
exec
1>&3
exec
2>&3
##############################################################################
# Backup MySQL database
##############################################################################
echo
">>>>> Backup Database Now..."
echo
">> mysqldump -u root --all-databases >
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql"
mysqldump
-u
root
--all-databases
1>
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql
echo
">> chown root.root
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql"
chown
root.root
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql
echo
">> chmod 755
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql"
chmod
755
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql
echo
">> rm -f
${
BACKUP_DIR
}
/db_
${
DATE
}
.sql"
rm
-f
${
BACKUP_DIR
}
/db_
${
PREV_DATE
}
.sql
##############################################################################
# Backup www
##############################################################################
echo
">>>>> Backup www Now..."
echo
">> tar -cpzf
${
BACKUP_DIR
}
/www_
${
DATE
}
.tgz -C /mnt/data www"
tar
-cpzvf
${
BACKUP_DIR
}
/www_
${
DATE
}
.tgz
-C
/mnt/data www
echo
">> rm -f
${
BACKUP_DIR
}
/www_
${
PREV_DATE
}
.tgz"
rm
-f
${
BACKUP_DIR
}
/www_
${
PREV_DATE
}
.tgz
###
# Backup repository
#
echo
">>>>> Backup Repository Now..."
echo
">> tar -cpzf
${
BACKUP_DIR
}
/git_
${
DATE
}
.tgz -C /home git"
tar
-cpzvf
${
BACKUP_DIR
}
/git_
${
DATE
}
.tgz
-C
/home git
echo
">> rm -f
${
BACKUP_DIR
}
/git_
${
PREV_DATE
}
.tgz"
rm
-f
${
BACKUP_DIR
}
/git_
${
PREV_DATE
}
.tgz
##############################################################################
# Backup configurations
##############################################################################
echo
">>>>> Backup Configurations Now..."
LIST[0]
=
"/etc/nginx"
LIST[1]
=
"/etc/mysql"
for
i
in
"
${
LIST
[@]
}
"
;
do
echo
">> tar -rpf
${
BACKUP_DIR
}
/conf_
${
DATE
}
.tar
$i
"
tar
-rpvf
${
BACKUP_DIR
}
/conf_
${
DATE
}
.tar
$i
done
;
echo
">> rm -f
${
BACKUP_DIR
}
/conf_
${
PREV_DATE
}
.tar"
rm
-f
${
BACKUP_DIR
}
/conf_
${
PREV_DATE
}
.tar
##############################################################################
# Create backup spare
##############################################################################
echo
">>>>> Creating Backup Spare..."
echo
">> rsync -avz --del
${
BACKUP_DIR
}
/
${
SPARE_DIR
}
/"
rsync
-avz
--del
${
BACKUP_DIR
}
/
${
SPARE_DIR
}
/
##############################################################################
# Adjust owner & permissions
##############################################################################
chown
root.root
${
SPARE_DIR
}
/
*
2>/dev/null
chown
potatogim.potatogim
${
SPARE_DIR
}
2 2>/dev/null
exec
3>&-
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment