memo

2011-01-17

btrfs のスナップショット間で更新のあったファイル一覧を表示する

archives/2011-01/2011-01-12.rst で取得した last_gen を使って btrfs のスナップショット間で更新のあったファイル一覧を表示する方法:

#!/bin/bash

last_gen=$(btrfs subvolume find-new "$1" 9999999999 | \
             awk '/^transid marker was/ { print $4 }')

if [[ -z "${last_gen}" ]]; then
  echo "can't get last_gen" >&2
  exit 1
fi

btrfs subvolume find-new "$2" "${last_gen}" | \
  awk '/^inode/ { print substr($0, match($0, $16) + length($16) + 1) }' | \
  sort -u