Correct problems with using Keychain for backup drive credentials
This commit is contained in:
+3
-4
@@ -18,10 +18,9 @@ if [[ "$CONFIRM" != "Y" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
security add-generic-password -a $USER -s backup-host -w "$HOST"
|
|
||||||
security add-generic-password -a $USER -s backup-share -w "$SHARE"
|
echo "afp://$USERNAME:$PASSWORD@$HOST/$SHARE" > ~/.backup-cred
|
||||||
security add-generic-password -a $USER -s backup-username -w "$USERNAME"
|
chmod 600 ~/.backup-cred
|
||||||
security add-generic-password -a $USER -s backup-password -w "$PASSWORD"
|
|
||||||
|
|
||||||
cp $BIN_DIR/backup-commands.default.sh "$BACKUP_COMMANDS"
|
cp $BIN_DIR/backup-commands.default.sh "$BACKUP_COMMANDS"
|
||||||
chmod u+x "$BACKUP_COMMANDS"
|
chmod u+x "$BACKUP_COMMANDS"
|
||||||
|
|||||||
+7
-9
@@ -1,21 +1,19 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash -x
|
||||||
|
|
||||||
function die {
|
function die {
|
||||||
echo $*; exit 1
|
echo $*; exit 1
|
||||||
}
|
}
|
||||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||||
|
|
||||||
HOST=$(security find-generic-password -a $USER -s backup-host -w)
|
DRIVE=$(cat ~/.backup-cred)
|
||||||
SHARE=$(security find-generic-password -a $USER -s backup-share -w)
|
|
||||||
USERNAME=$(security find-generic-password -a $USER -s backup-username -w)
|
|
||||||
PASSWORD=$(security find-generic-password -a $USER -s backup-password -w)
|
|
||||||
DRIVE="afp://$USERNAME:$PASSWORD@$HOST/$SHARE"
|
|
||||||
|
|
||||||
if ! mount | grep -q "$HOME/$LOCAL_MOUNT"; then
|
[[ "$DRIVE" == "" ]] && die "[$(date)] Could not find ~/.backup-cred"
|
||||||
|
|
||||||
|
if ! mount | grep -q "$LOCAL_MOUNT"; then
|
||||||
if [[ -e "$LOCAL_MOUNT" ]]; then
|
if [[ -e "$LOCAL_MOUNT" ]]; then
|
||||||
rm -rf "$LOCAL_MOUNT" || die "Could not mount to $LOCAL_MOUNT"
|
rmdir "$LOCAL_MOUNT" >/dev/null &2>1 || die "[$(date)] Could not mount to $LOCAL_MOUNT"
|
||||||
fi
|
fi
|
||||||
mkdir -p "$LOCAL_MOUNT"
|
mkdir -p "$LOCAL_MOUNT"
|
||||||
mount -t afp "$DRIVE" "$LOCAL_MOUNT" || die "Could not mount from $DRIVE"
|
mount -t afp "$DRIVE" "$LOCAL_MOUNT" || die "[$(date)] Could not mount backup drive"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
+7
-7
@@ -7,27 +7,27 @@ function die {
|
|||||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||||
BACKUP_COMMANDS="$HOME/.backup-commands.sh"
|
BACKUP_COMMANDS="$HOME/.backup-commands.sh"
|
||||||
STARTED_DATE=$(date)
|
STARTED_DATE=$(date)
|
||||||
|
BIN=$(dirname $0)
|
||||||
|
|
||||||
[[ -x "$BACKUP_COMMANDS" ]] || die "Could not find $BACKUP_COMMANDS"
|
[[ -x "$BACKUP_COMMANDS" ]] || die "Could not find $BACKUP_COMMANDS"
|
||||||
|
|
||||||
echo "Mounting backup volume..."
|
echo "[$(date)] Mounting backup volume..."
|
||||||
./backup-unmount.sh || die
|
$BIN/backup-mount.sh || die
|
||||||
./backup-mount.sh || die
|
|
||||||
[[ -d "$LOCAL_MOUNT" ]] || die "Could find $LOCAL_MOUNT"
|
[[ -d "$LOCAL_MOUNT" ]] || die "Could find $LOCAL_MOUNT"
|
||||||
|
|
||||||
(
|
(
|
||||||
cd "$LOCAL_MOUNT"
|
cd "$LOCAL_MOUNT"
|
||||||
echo "Started backing up at $STARTED_DATE" > backup.log
|
echo "[$(date)] Running backup..." > backup.log
|
||||||
"$BACKUP_COMMANDS" >> backup.log 2>&1
|
"$BACKUP_COMMANDS" >> backup.log 2>&1
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ "$?" != 0 ]]; then
|
if [[ "$?" != 0 ]]; then
|
||||||
echo "ERROR: Backup failed!"
|
echo "[$(date)] ERROR: Backup failed!"
|
||||||
head -n10 "$LOCAL_MOUNT/backup.log"
|
head -n10 "$LOCAL_MOUNT/backup.log"
|
||||||
echo "..."
|
echo "..."
|
||||||
tail -n10 "$LOCAL_MOUNT/backup.log"
|
tail -n10 "$LOCAL_MOUNT/backup.log"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#./backup-unmount.sh || echo "WARNING: Could not unmount $LOCAL_MOUNT! Please check into this!"
|
$BIN/backup-unmount.sh || echo "[$(date)] WARNING: Could not unmount $LOCAL_MOUNT! Please check into this!"
|
||||||
echo "Finished backing up at $(date)."
|
echo "[$(date)] Finished backing up"
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ function die {
|
|||||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||||
|
|
||||||
if mount | grep -q "$LOCAL_MOUNT"; then
|
if mount | grep -q "$LOCAL_MOUNT"; then
|
||||||
umount "$LOCAL_MOUNT" || die "Could not unmount $LOCAL_MOUNT"
|
umount "$LOCAL_MOUNT" || die "[$(date)] Could not unmount $LOCAL_MOUNT"
|
||||||
fi
|
fi
|
||||||
[[ -e "$LOCAL_MOUNT" ]] && rm -r "$LOCAL_MOUNT"
|
[[ -e "$LOCAL_MOUNT" ]] && rmdir "$LOCAL_MOUNT"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
Reference in New Issue
Block a user