Skip to content
Snippets Groups Projects
Commit c7129360 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

enable cache dir; unlock before pruning

parent d49be457
Branches
No related tags found
1 merge request!5update docs
......@@ -139,6 +139,7 @@ The inc_config.sh mus contain 3 variables for pruning
prune_basedir=/netshare/restic-backup
prune_params="--group-by paths,tags --prune --keep-within 180d --max-unused unlimited --max-repack-size 100M --cleanup-cache"
prune_skipdays="7"
prune_cachedir=${prune_basedir}/.cache_for_pruning
```
## rest_pruner.cfg
......
......@@ -28,7 +28,9 @@
sLogfile="$sLogdir/connections.log"
# for prune on restic rest server
prune_params="--group-by paths,tags --prune --keep-within 180d --max-unused unlimited --max-repack-size 100M --cleanup-cache"
prune_basedir=/netshare/restic-backup
prune_params="--group-by paths,tags --prune --keep-within 180d --max-unused unlimited --max-repack-size 100M --cleanup-cache --verbose=0"
prune_skipdays="7"
prune_cachedir=${prune_basedir}/.cache_for_pruning
# ----------------------------------------------------------------------
......@@ -6,16 +6,18 @@
# ----------------------------------------------------------------------
# 2024-02-01 v0.1 <axel.hahn@unibe.ch> first lines
# 2024-02-02 v0.2 <axel.hahn@unibe.ch> add: timer, skip file, skin N days, limit process time, stats
# 2024-02-03 v0.3 <axel.hahn@unibe.ch> enable cache dir; unlock before pruning
# ======================================================================
cd "$( dirname $0 )" || exit
_version=0.2
_version=0.3
logdir=_last_prune
prune_basedir=
prune_params=
prune_skipdays=7
prune_cachedir=
# stop pruning more repositories when running longer N seconds
prune_timeout=7200
......@@ -40,6 +42,7 @@ typeset -i rcAll=0
. "inc_config.sh" || exit 1
cfgfile=rest_pruner.cfg || exit 1
test -z "$prune_cachedir" && prune_cachedir="${prune_basedir}/.cache_for_pruning"
# ----------------------------------------------------------------------
......@@ -153,13 +156,24 @@ function _prune(){
fi
if [ "$bDoRun" -eq "1" ]; then
local _user; _user=$( stat -c "%U" "$_dir" )
echo ">>>>> $( _getTimer ) >>>>> $_dir"
echo ">>>>> $( _getTimer ) sec >>>>> $_dir"
local _user;
_user=$( stat -c "%U" "$_dir" )
local _cachedir;
export _cachedir=$prune_cachedir/${mybase}
echo "Creating cache $_cachedir ..."
test -d "$_cachedir" || mkdir -p "$_cachedir"
chown ${_user}:${_user} "$_cachedir"
echo "Starting prune as user $_user ..."
su - $_user - /bin/bash -c "
echo START $( date ) $_dir
export RESTIC_PASSWORD=$mypw
restic forget -r $_dir $prune_params 2>&1
set -vx
restic unlock -r $_dir --cache-dir=$_cachedir 2>&1
restic forget -r $_dir --cache-dir=$_cachedir $prune_params 2>&1
" | tee "${logfile}.running"
rc=${PIPESTATUS[0]}
rcAll+=$rc
......@@ -170,7 +184,10 @@ function _prune(){
else
iCountPruneError+=1
mv "${logfile}.running" "${logfile}.error"
echo "!!! ERROR !!! pruning failed."
fi
echo "Removing cache $_cachedir ..."
rm -rf "$_cachedir"
fi
else
test "$bOptAll" -eq "1" && echo "SKIP: $_dir - no password for this repo"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment