9eb02251 |
1 | function backup_data() { |
2 | BACKUPDIR="$1" |
3 | echo "backing up data in $BACKUPDIR" |
4 | |
5 | |
6 | if [ -d $BACKUPDIR ]; then |
7 | if [ $(/bin/ls -A $BACKUPDIR) ]; then |
8 | echo "$BACKUPDIR is not empty. Cannot continue" |
9 | exit |
10 | else |
11 | echo "$BACKUPDIR is ok. Continuing!" |
12 | fi |
13 | else |
14 | # BACKUPDIR doesn't exists |
15 | echo "$BACKUPDIR doesn't exists" |
16 | read -r -p "Do you want me to create it for you? (y/N) " ANSWER |
17 | case $ANSWER in |
18 | y|Y ) |
19 | mkdir -p $BACKUPDIR |
20 | ;; |
21 | * ) |
22 | echo "No changes made. Exiting" |
23 | exit |
24 | ;; |
25 | esac |
26 | fi |
27 | # ok, we have a backup directory |
28 | if [ -r $RCFILE ]; then |
87a368fe |
29 | BCKUP_COMM=$(rsync -avz --progress ${RCFILE}* ${BASEDIR}/ ${BACKUPDIR}) |
9eb02251 |
30 | else |
87a368fe |
31 | BCKUP_COMM=$(rsync -avz --progress ${BASEDIR}/ ${BACKUPDIR}) |
9eb02251 |
32 | fi |
33 | # run the command |
34 | if [ "$BCKUP_COMM" ]; then |
3951cc3d |
35 | echo -e "All files backed up." |
9eb02251 |
36 | echo -e "BACKUP directory:\t$BACKUPDIR" |
3951cc3d |
37 | tree $BACKUPDIR | $PAGER |
9eb02251 |
38 | echo; echo "BACKUP COMPLETED" |
39 | fi |
40 | } |
41 | |
42 | function backup_restore() { |
3951cc3d |
43 | BACKUPDIR="$1" |
44 | echo "restoring backup from $BACKUPDIR" |
45 | echo "This will overwrite all your notes and configurations with the backup." |
46 | read -r -p "Do you want to continue? (y/N) " ANSWER |
47 | case $ANSWER in |
48 | y|Y ) |
49 | # restoring rc file |
50 | BACKUPRC=$(basename $RCFILE) |
51 | if [ -r ${BACKUPDIR}/${BACKUPRC} ]; then |
52 | if [ -r ${RCFILE} ]; then |
53 | echo "Backing up current '${RCFILE}'...." |
54 | mv -f ${RCFILE} ${RCFILE}.$(date +%Y%m%d_%H%M) |
55 | fi |
56 | cp --verbose ${BACKUPDIR}/${BACKUPRC} $RCFILE |
57 | fi |
58 | # restoring notes directory |
59 | if [ -d $BACKUPDIR/notes ]; then |
60 | if [ $(/bin/ls -A $NOTESDIR) ]; then |
61 | rm --verbose $NOTESDIR/* |
62 | fi |
63 | cp -r --verbose $BACKUPDIR/notes $BASEDIR |
64 | fi |
65 | # restoring database |
66 | BACKUPDB=$(basename $DB) |
67 | if [ -f ${BACKUPDIR}/${BACKUPDB} ]; then |
68 | if [ -r ${DB} ]; then |
69 | echo "Backing up current '${DB}'...." |
70 | mv -f ${DB} ${DB}.$(date +%Y%m%d_%H%M) |
71 | fi |
72 | cp --verbose ${BACKUPDIR}/${BACKUPDB} $DB |
73 | fi |
87a368fe |
74 | # restoring git repo subdirectory |
75 | if [ -d $BACKUPDIR/.git ]; then |
76 | if [ /bin/ls -A ${BASEDIR}/.git ]; then |
77 | rm -rf ${BASEDIR}/.git |
78 | fi |
79 | cp -r --verbose ${BACKUPDIR}/.git ${BASEDIR}/ |
80 | fi |
3951cc3d |
81 | ;; |
82 | * ) |
83 | echo "No changes made. Exiting" |
84 | exit |
85 | ;; |
86 | esac |
9eb02251 |
87 | } |
88 | |