From fd7fda6c57146616ce84fd0e390379d86158dc85 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 12 Oct 2016 10:50:52 +0100 Subject: [PATCH] emacs config remote backup and restore --- src/freedombone-app-emacs | 40 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/freedombone-app-emacs b/src/freedombone-app-emacs index 276f12df..131e6e24 100755 --- a/src/freedombone-app-emacs +++ b/src/freedombone-app-emacs @@ -90,11 +90,47 @@ function restore_local_emacs { } function backup_remote_emacs { - echo -n '' + for d in /home/*/ ; do + USERNAME=$(echo "$d" | awk -F '/' '{print $3}') + if [[ $(is_valid_user "$USERNAME") == "1" ]]; then + if [ -d /home/$USERNAME/.emacs.d ]; then + echo $"Backing up Emacs config for $USERNAME" + if [ -f /home/$USERNAME/.emacs ]; then + cp /home/$USERNAME/.emacs /home/$USERNAME/.emacs.d/dotemacs + fi + function_check backup_directory_to_friend + backup_directory_to_friend /home/$USERNAME/.emacs.d emacs/$USERNAME + fi + fi + done } function restore_remote_emacs { - echo -n '' + temp_restore_dir=/root/tempemacs + if [ -d $USB_MOUNT/backup/emacs ]; then + for d in $USB_MOUNT/backup/emacs/*/ ; do + USERNAME=$(echo "$d" | awk -F '/' '{print $6}') + if [[ $(is_valid_user "$USERNAME") == "1" ]]; then + if [ ! -d /home/$USERNAME ]; then + ${PROJECT_NAME}-adduser $USERNAME + fi + echo $"Restoring Emacs config for $USERNAME" + function_check restore_directory_from_friend + restore_directory_from_friend $temp_restore_dir emacs/$USERNAME + cp -r $temp_restore_dir/home/$USERNAME/.emacs.d /home/$USERNAME/ + if [ ! "$?" = "0" ]; then + rm -rf $temp_restore_dir + function_check set_user_permissions + set_user_permissions + function_check backup_unmount_drive + backup_unmount_drive + exit 664 + fi + cp -f $temp_restore_dir/home/$USERNAME/.emacs.d/dotemacs /home/$USERNAME/.emacs + rm -rf $temp_restore_dir + fi + done + fi } function remove_emacs {