Created
November 3, 2014 12:37
-
-
Save stnvh/b59a1a041b64d5e9333a to your computer and use it in GitHub Desktop.
Time machine mail search
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Email search script | |
# by Stan Hutcheon | |
if [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then | |
echo 'usage: emailsearch [volume] [user] [backupname] [backupvolume] [query]' | |
exit | |
fi | |
if [[ "$1" ]]; then | |
VOLUME="$1" | |
fi | |
if [[ "$2" ]]; then | |
TUSER="$2" | |
fi | |
if [[ "$3" ]]; then | |
BACKUP="$3" | |
fi | |
if [[ "$4" ]]; then | |
BVOLUME="$4" | |
fi | |
if [[ "$5" ]]; then | |
QUERY="$5" | |
fi | |
if [[ -d "/Volumes/Time Machine" ]]; then | |
VOLUME="Time Machine" | |
fi | |
if [[ ! "$VOLUME" ]]; then | |
echo 'Begin by entering your time machine volume from the list below:' | |
ls -1 /Volumes | |
echo -n '>' | |
read VOLUME | |
fi | |
ABSVOLUME="/Volumes/$VOLUME" | |
if [[ ! -d "$ABSVOLUME/Backups.backupdb" ]]; then | |
echo 'ERROR: no backup directory found' | |
exit | |
fi | |
if [[ ! -d "$ABSVOLUME/Backups.backupdb/$USER" ]] && [[ ! "$TUSER" ]]; then | |
echo 'Please specify which time machine user backups to use:' | |
ls -1 "$ABSVOLUME/Backups.backupdb" | |
echo -n '>' | |
read TUSER | |
else | |
TUSER="$USER" | |
fi | |
if [[ ! -d "$ABSVOLUME/Backups.backupdb/$TUSER" ]]; then | |
echo 'ERROR: user folder doesnt exist' | |
exit | |
fi | |
if [[ ! "$BACKUP" ]]; then | |
echo 'Please choose a backup date and enter it below:' | |
sleep 1 | |
ls -1 "$ABSVOLUME/Backups.backupdb/$TUSER/" | |
echo -n '>' | |
read BACKUP | |
fi | |
if [[ ! -d "$ABSVOLUME/Backups.backupdb/$TUSER/$BACKUP" ]]; then | |
echo 'ERROR: Backup date not found' | |
exit | |
fi | |
if [[ ! "$BVOLUME" ]]; then | |
echo 'Please choose a backup volume and enter it below:' | |
ls -1 "$ABSVOLUME/Backups.backupdb/$TUSER/$BACKUP" | |
echo -n '>' | |
read BVOLUME | |
fi | |
if [[ ! -d "$ABSVOLUME/Backups.backupdb/$TUSER/$BACKUP/$BVOLUME" ]]; then | |
echo 'ERROR: Backup volume not found' | |
exit | |
fi | |
if [[ ! "$QUERY" ]]; then | |
echo 'Please enter your search query:' | |
read QUERY | |
fi | |
FULLPATH="$ABSVOLUME/Backups.backupdb/$TUSER/$BACKUP/$BVOLUME" | |
find "$FULLPATH/Users/$TUSER/Library/Mail/V2" -name "*.emlx" -exec grep -l "$QUERY" {} \; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment