mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-12-16 16:21:40 +00:00
Merge branch 'master' of github.com:flynx/ImageGrid
This commit is contained in:
commit
3d20c135c5
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
# XXX need:
|
# XXX need:
|
||||||
# - protocol (command) to create archive root
|
# - protocol (command) to create archive root
|
||||||
|
# manually:
|
||||||
|
# - copy tree
|
||||||
|
# - run snapshot.sh
|
||||||
|
# script:
|
||||||
|
# XXX
|
||||||
# - protocol to create snapshots
|
# - protocol to create snapshots
|
||||||
# - sync-flash.sh ???
|
# - sync-flash.sh ???
|
||||||
# - protocol to restore stuff -- simply copy???
|
# - protocol to restore stuff -- simply copy???
|
||||||
@ -12,6 +17,16 @@
|
|||||||
# - a way to maintain a set number of snapshots...
|
# - a way to maintain a set number of snapshots...
|
||||||
#
|
#
|
||||||
|
|
||||||
|
SNAPSHOT_DIR=.snapshots
|
||||||
|
SUBVOLUME_DIR=media
|
||||||
|
|
||||||
|
|
||||||
|
# run in script dir (not cwd)...
|
||||||
|
DIR=`dirname "$0"`
|
||||||
|
if ! [ -z "$DIR" ] ; then
|
||||||
|
cd "$DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# check if on btrfs filesystem...
|
# check if on btrfs filesystem...
|
||||||
# XXX also check if btrfs command is available...
|
# XXX also check if btrfs command is available...
|
||||||
if ! btrfs filesystem usage . > /dev/null ; then
|
if ! btrfs filesystem usage . > /dev/null ; then
|
||||||
@ -29,30 +44,32 @@ createTree(){
|
|||||||
|
|
||||||
# create ./media...
|
# create ./media...
|
||||||
# XXX check if not a directory...
|
# XXX check if not a directory...
|
||||||
if ! [ -e ./media ] ; then
|
if ! [ -e "$SUBVOLUME_DIR" ] ; then
|
||||||
btrfs subvolume create ./media
|
btrfs subvolume create "$SUBVOLUME_DIR"
|
||||||
# XXX build tree -- ImageGrid
|
# XXX build tree -- ImageGrid
|
||||||
|
|
||||||
# convert ./media to a subvolume...
|
# convert ./media to a subvolume...
|
||||||
elif [ "$(stat --format=%i ./media)" == 256 ] ; then
|
elif [ "$(stat --format=%i "$SUBVOLUME_DIR")" == 256 ] ; then
|
||||||
btrfs subvolume create ./media_subvolume
|
mkdir bak
|
||||||
#mv ./media/{,.}* ./media_subvolume/
|
mv "$SUBVOLUME_DIR" bak/
|
||||||
|
btrfs subvolume create "$SUBVOLUME_DIR"
|
||||||
cp --archive --one-file-system --reflink=always \
|
cp --archive --one-file-system --reflink=always \
|
||||||
./media/{,.}* \
|
./bak/"$SUBVOLUME_DIR"/{,.}* \
|
||||||
./media_subvolume/
|
"$SUBVOLUME_DIR"/
|
||||||
mv ./media{,.bak}
|
|
||||||
mv ./media{_subvolume,}
|
|
||||||
fi
|
fi
|
||||||
mkdir -p ./.snapshots
|
mkdir -p "$SNAPSHOT_DIR"
|
||||||
|
|
||||||
|
|
||||||
# XXX should this be more human readable???
|
# XXX should this be more human readable???
|
||||||
# ...a date + number maybe???
|
# ...a date + number maybe???
|
||||||
SNAPSHOT=$((
|
SNAPSHOT=$((
|
||||||
$( ls .snapshots \
|
$( ls "$SNAPSHOT_DIR" \
|
||||||
| sort -n \
|
| sort -n \
|
||||||
| tail -n 1 ) \
|
| tail -n 1 ) \
|
||||||
+ 1 ))
|
+ 1 ))
|
||||||
|
|
||||||
btrfs subvolume snapshot -r ./media .snapshots/${SNAPSHOT}
|
btrfs subvolume snapshot -r "$SUBVOLUME_DIR" "${SNAPSHOT_DIR}/${SNAPSHOT}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# vim:set nowrap nospell :
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user