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
|
||||
fi
|
||||
|
||||
security add-generic-password -a $USER -s backup-host -w "$HOST"
|
||||
security add-generic-password -a $USER -s backup-share -w "$SHARE"
|
||||
security add-generic-password -a $USER -s backup-username -w "$USERNAME"
|
||||
security add-generic-password -a $USER -s backup-password -w "$PASSWORD"
|
||||
|
||||
echo "afp://$USERNAME:$PASSWORD@$HOST/$SHARE" > ~/.backup-cred
|
||||
chmod 600 ~/.backup-cred
|
||||
|
||||
cp $BIN_DIR/backup-commands.default.sh "$BACKUP_COMMANDS"
|
||||
chmod u+x "$BACKUP_COMMANDS"
|
||||
|
||||
+7
-9
@@ -1,21 +1,19 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -x
|
||||
|
||||
function die {
|
||||
echo $*; exit 1
|
||||
}
|
||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||
|
||||
HOST=$(security find-generic-password -a $USER -s backup-host -w)
|
||||
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"
|
||||
DRIVE=$(cat ~/.backup-cred)
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
+7
-7
@@ -7,27 +7,27 @@ function die {
|
||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||
BACKUP_COMMANDS="$HOME/.backup-commands.sh"
|
||||
STARTED_DATE=$(date)
|
||||
BIN=$(dirname $0)
|
||||
|
||||
[[ -x "$BACKUP_COMMANDS" ]] || die "Could not find $BACKUP_COMMANDS"
|
||||
|
||||
echo "Mounting backup volume..."
|
||||
./backup-unmount.sh || die
|
||||
./backup-mount.sh || die
|
||||
echo "[$(date)] Mounting backup volume..."
|
||||
$BIN/backup-mount.sh || die
|
||||
[[ -d "$LOCAL_MOUNT" ]] || die "Could find $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
|
||||
)
|
||||
|
||||
if [[ "$?" != 0 ]]; then
|
||||
echo "ERROR: Backup failed!"
|
||||
echo "[$(date)] ERROR: Backup failed!"
|
||||
head -n10 "$LOCAL_MOUNT/backup.log"
|
||||
echo "..."
|
||||
tail -n10 "$LOCAL_MOUNT/backup.log"
|
||||
fi
|
||||
|
||||
#./backup-unmount.sh || echo "WARNING: Could not unmount $LOCAL_MOUNT! Please check into this!"
|
||||
echo "Finished backing up at $(date)."
|
||||
$BIN/backup-unmount.sh || echo "[$(date)] WARNING: Could not unmount $LOCAL_MOUNT! Please check into this!"
|
||||
echo "[$(date)] Finished backing up"
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ function die {
|
||||
LOCAL_MOUNT="$HOME/.backup-drive"
|
||||
|
||||
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
|
||||
[[ -e "$LOCAL_MOUNT" ]] && rm -r "$LOCAL_MOUNT"
|
||||
[[ -e "$LOCAL_MOUNT" ]] && rmdir "$LOCAL_MOUNT"
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user