Browse Source

Merge pull request #1154 from trapexit/mover-scripts

Move tiered cache mover scripts to files in tools dir
pull/1155/head
trapexit 2 years ago
committed by GitHub
parent
commit
be19b9ce71
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 42
      README.md
  2. 21
      tools/mergerfs.percent-full-mover
  3. 13
      tools/mergerfs.time-based-mover

42
README.md

@ -1427,22 +1427,7 @@ version of rsync or run rsync with the tool "nocache".
**filesystem** itself. Not the pool with the cache filesystem. You **filesystem** itself. Not the pool with the cache filesystem. You
could have data loss if the source is the cache pool. could have data loss if the source is the cache pool.
```
#!/bin/bash
if [ $# != 3 ]; then
echo "usage: $0 <cache-fs> <backing-pool> <days-old>"
exit 1
fi
CACHE="${1}"
BACKING="${2}"
N=${3}
find "${CACHE}" -type f -atime +${N} -printf '%P\n' | \
rsync --files-from=- -axqHAXWES --preallocate --remove-source-files "${CACHE}/" "${BACKING}/"
```
[mergerfs.time-based-mover](tools/mergerfs.time-based-mover?raw=1 "download")
##### percentage full expiring ##### percentage full expiring
@ -1454,30 +1439,7 @@ below percentage threshold.
**filesystem** itself. Not the pool with the cache filesystem. You **filesystem** itself. Not the pool with the cache filesystem. You
could have data loss if the source is the cache pool. could have data loss if the source is the cache pool.
```
#!/bin/bash
if [ $# != 3 ]; then
echo "usage: $0 <cache-fs> <backing-pool> <percentage>"
exit 1
fi
CACHE="${1}"
BACKING="${2}"
PERCENTAGE=${3}
set -o errexit
while [ $(df --output=pcent "${CACHE}" | grep -v Use | cut -d'%' -f1) -gt ${PERCENTAGE} ]
do
FILE=$(find "${CACHE}" -type f -printf '%A@ %P\n' | \
sort | \
head -n 1 | \
cut -d' ' -f2-)
test -n "${FILE}"
rsync -axqHAXWESR --preallocate --remove-source-files "${CACHE}/./${FILE}" "${BACKING}/"
done
```
[mergerfs.percent-full-mover](tools/percent-full-mover?raw=1)
# PERFORMANCE # PERFORMANCE

21
tools/mergerfs.percent-full-mover

@ -0,0 +1,21 @@
#!/usr/bin/env sh
if [ $# != 3 ]; then
echo "usage: $0 <cache-fs> <backing-pool> <percentage>"
exit 1
fi
CACHE="${1}"
BACKING="${2}"
PERCENTAGE=${3}
set -o errexit
while [ $(df --output=pcent "${CACHE}" | grep -v Use | cut -d'%' -f1) -gt ${PERCENTAGE} ]
do
FILE=$(find "${CACHE}" -type f -printf '%A@ %P\n' | \
sort | \
head -n 1 | \
cut -d' ' -f2-)
test -n "${FILE}"
rsync -axqHAXWESR --preallocate --remove-source-files "${CACHE}/./${FILE}" "${BACKING}/"
done

13
tools/mergerfs.time-based-mover

@ -0,0 +1,13 @@
#!/usr/bin/env sh
if [ $# != 3 ]; then
echo "usage: $0 <cache-fs> <backing-pool> <days-old>"
exit 1
fi
CACHE="${1}"
BACKING="${2}"
N=${3}
find "${CACHE}" -type f -atime +${N} -printf '%P\n' | \
rsync --files-from=- -axqHAXWES --preallocate --remove-source-files "${CACHE}/" "${BACKING}/"
Loading…
Cancel
Save