|
@@ -40,6 +40,21 @@ function mk_ramdisk() {
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
+function rm_ramdisk() {
|
|
|
+ if [ ! -f "$RAMDISK_FILE" ]; then
|
|
|
+ echo "Can't remove ramdisk - $RAMDISK_FILE not found";
|
|
|
+ exit 1;
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Unmounting ramdisk...";
|
|
|
+ if [ "$(uname)" == "Darwin" ]; then
|
|
|
+ hdiutil detach -force $(cat $RAMDISK_FILE) || true;
|
|
|
+ rm $RAMDISK_FILE $STASH_DIR;
|
|
|
+ elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
|
|
+ sudo umount $LINUX_STASH_LOCATION;
|
|
|
+ rm $RAMDISK_FILE $STASH_DIR;
|
|
|
+ fi
|
|
|
+}
|
|
|
|
|
|
|
|
|
while getopts "miedr" opt; do
|
|
@@ -69,24 +84,16 @@ while getopts "miedr" opt; do
|
|
|
tar --exclude=".*" -zcv $STASH_DIR/* | gpg --encrypt -r $ME - > "$STASH_FILE";
|
|
|
;;
|
|
|
d)
|
|
|
+ if [ -f "$RAMDISK_FILE" ]; then
|
|
|
+ rm_ramdisk;
|
|
|
+ fi
|
|
|
+
|
|
|
mk_ramdisk;
|
|
|
echo "Decrypting...";
|
|
|
gpg --decrypt "$STASH_FILE" | tar -zxvf - -C $STASH_DIR --strip-components=1;
|
|
|
;;
|
|
|
r)
|
|
|
- if [ ! -f "$RAMDISK_FILE" ]; then
|
|
|
- echo "Can't remove ramdisk - $RAMDISK_FILE not found";
|
|
|
- exit 1;
|
|
|
- fi
|
|
|
-
|
|
|
- echo "Unmounting ramdisk...";
|
|
|
- if [ "$(uname)" == "Darwin" ]; then
|
|
|
- hdiutil detach -force $(cat $RAMDISK_FILE) || true;
|
|
|
- rm $RAMDISK_FILE $STASH_DIR;
|
|
|
- elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
|
|
- sudo umount $LINUX_STASH_LOCATION;
|
|
|
- rm $RAMDISK_FILE $STASH_DIR;
|
|
|
- fi
|
|
|
+ rm_ramdisk;
|
|
|
;;
|
|
|
\?)
|
|
|
echo "Invalid option: -$OPTARG" >&2
|