removed the 'function' keyword before declaring a function as is not needed.
[bash-notes.git] / SOURCE / CORE / core-backup.sh
1 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
29 BCKUP_COMM=$(rsync -avz --progress ${RCFILE}* ${BASEDIR}/ ${BACKUPDIR})
30 else
31 BCKUP_COMM=$(rsync -avz --progress ${BASEDIR}/ ${BACKUPDIR})
32 fi
33 # run the command
34 if [ "$BCKUP_COMM" ]; then
35 echo -e "All files backed up."
36 echo -e "BACKUP directory:\t$BACKUPDIR"
37 tree $BACKUPDIR | $PAGER
38 echo; echo "BACKUP COMPLETED"
39 fi
40 }
41
42 backup_restore() {
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
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
81 ;;
82 * )
83 echo "No changes made. Exiting"
84 exit
85 ;;
86 esac
87 }
88