Compare commits
No commits in common. "a406cfe849660543a7b0ceddbab2f53c6a16daf5" and "e972c90fe596e38cd2da8fa2e8c2fe0a2a9303af" have entirely different histories.
a406cfe849
...
e972c90fe5
4 changed files with 20 additions and 47 deletions
45
backup.sh
45
backup.sh
|
@ -61,7 +61,7 @@ print_help () {
|
||||||
}
|
}
|
||||||
|
|
||||||
print_and_log () {
|
print_and_log () {
|
||||||
/usr/bin/env ts "%Y-%m-%dT%H:%M:%S" | /usr/bin/tee -a $BACKUP_LOG
|
/usr/bin/ts "%Y-%m-%dT%H:%M:%S" | /usr/bin/tee -a $BACKUP_LOG
|
||||||
}
|
}
|
||||||
|
|
||||||
set -o errexit
|
set -o errexit
|
||||||
|
@ -70,7 +70,6 @@ set -o pipefail
|
||||||
ACTION=$1
|
ACTION=$1
|
||||||
DESTINATION=$2
|
DESTINATION=$2
|
||||||
INPUT="${@:3}"
|
INPUT="${@:3}"
|
||||||
RESTIC=$(which restic)
|
|
||||||
|
|
||||||
if [[ -z $DESTINATION && $ACTION == "help" ]]; then
|
if [[ -z $DESTINATION && $ACTION == "help" ]]; then
|
||||||
print_logo
|
print_logo
|
||||||
|
@ -106,7 +105,7 @@ else
|
||||||
"backup")
|
"backup")
|
||||||
if [[ $AC_POWER == 1 ]]; then
|
if [[ $AC_POWER == 1 ]]; then
|
||||||
echo "backing up to $DESTINATION." | print_and_log
|
echo "backing up to $DESTINATION." | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--cleanup-cache \
|
--cleanup-cache \
|
||||||
|
@ -121,7 +120,7 @@ else
|
||||||
;;
|
;;
|
||||||
"check")
|
"check")
|
||||||
echo "Checking backup repository at $DESTINATION" | print_and_log
|
echo "Checking backup repository at $DESTINATION" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -129,7 +128,7 @@ else
|
||||||
;;
|
;;
|
||||||
"find")
|
"find")
|
||||||
echo "Searching for $INPUT at $DESTINATION"
|
echo "Searching for $INPUT at $DESTINATION"
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -141,7 +140,7 @@ else
|
||||||
;;
|
;;
|
||||||
"init")
|
"init")
|
||||||
echo "Initializing backup repository at $DESTINATION" | print_and_log
|
echo "Initializing backup repository at $DESTINATION" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -149,7 +148,7 @@ else
|
||||||
;;
|
;;
|
||||||
"mount")
|
"mount")
|
||||||
echo "Mounting backup repository $DESTINATION at $INPUT" | print_and_log
|
echo "Mounting backup repository $DESTINATION at $INPUT" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -157,7 +156,7 @@ else
|
||||||
;;
|
;;
|
||||||
"restore")
|
"restore")
|
||||||
echo "Restoring from $DESTINATION, $INPUT" | print_and_log
|
echo "Restoring from $DESTINATION, $INPUT" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -165,7 +164,7 @@ else
|
||||||
;;
|
;;
|
||||||
"snapshots")
|
"snapshots")
|
||||||
echo "Listing snapshots on $DESTINATION"
|
echo "Listing snapshots on $DESTINATION"
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -173,7 +172,7 @@ else
|
||||||
;;
|
;;
|
||||||
"stats")
|
"stats")
|
||||||
echo "Printing statistics for $DESTINATION"
|
echo "Printing statistics for $DESTINATION"
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -181,27 +180,23 @@ else
|
||||||
;;
|
;;
|
||||||
"prune")
|
"prune")
|
||||||
if [[ $AC_POWER == 1 ]]; then
|
if [[ $AC_POWER == 1 ]]; then
|
||||||
hourly=6
|
|
||||||
daily=7
|
|
||||||
monthly=12
|
|
||||||
yearly=5
|
|
||||||
echo """
|
echo """
|
||||||
Pruning backups at $DESTINATION ...
|
Pruning backups at $DESTINATION ...
|
||||||
Keeping:
|
Keeping:
|
||||||
- $hourly hourly backups
|
- 24 hourly backups
|
||||||
- $daily daily backups
|
- 90 daily backups
|
||||||
- $monthly monthly backups
|
- 12 monthly backups
|
||||||
- $yearly yearly backups
|
- 5 yearly backups
|
||||||
""" | print_and_log
|
""" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
--prune \
|
--prune \
|
||||||
--keep-hourly=$hourly \
|
--keep-hourly=24 \
|
||||||
--keep-daily=$daily \
|
--keep-daily=90 \
|
||||||
--keep-monthly=$monthly \
|
--keep-monthly=12 \
|
||||||
--keep-yearly=$yearly \
|
--keep-yearly=5 \
|
||||||
forget | print_and_log
|
forget | print_and_log
|
||||||
else
|
else
|
||||||
echo "Not plugged in, canceling prune."
|
echo "Not plugged in, canceling prune."
|
||||||
|
@ -209,7 +204,7 @@ else
|
||||||
;;
|
;;
|
||||||
"unlock")
|
"unlock")
|
||||||
echo "Unlocking backup repository at $DESTINATION" | print_and_log
|
echo "Unlocking backup repository at $DESTINATION" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
@ -217,7 +212,7 @@ else
|
||||||
;;
|
;;
|
||||||
"clean")
|
"clean")
|
||||||
echo "Cleaning repository at $DESTINATION" | print_and_log
|
echo "Cleaning repository at $DESTINATION" | print_and_log
|
||||||
RESTIC \
|
/usr/bin/restic \
|
||||||
-r "$BACKUP_REPOSITORY" \
|
-r "$BACKUP_REPOSITORY" \
|
||||||
-p "$BACKUP_PASSWORD" \
|
-p "$BACKUP_PASSWORD" \
|
||||||
--verbose \
|
--verbose \
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>Label</key>
|
|
||||||
<string>net.andrew.backup.sh</string>
|
|
||||||
<key>ProgramArguments</key>
|
|
||||||
<array>
|
|
||||||
<string>touch</string>
|
|
||||||
<string>/tmp/helloworld</string>
|
|
||||||
</array>
|
|
||||||
<key>StartCalendarInterval</key>
|
|
||||||
<dict>
|
|
||||||
<key>Minute</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</dict>
|
|
||||||
<key>StandardOutPath</key>
|
|
||||||
<string>/var/log/testDaemon.log</string>
|
|
||||||
<key>StandardErrorPath</key>
|
|
||||||
<string>/var/log/testDaemon.log</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
Loading…
Reference in a new issue