我如何列出已删除的文件以及发生此情况的增量?
我编写了一个笨拙而缓慢的 shell 脚本,但我认为一定有更好的方法:
#!/bin/bash -e
# helper tool für rdiff-backup
# see https://serverfault.com/questions/983941/list-deleted-files-from-rdiff-backup
inc_dates=($(rdiff-backup --list-increments "$1" | tail -n+2 | head -n-1 | cut -d "." -f2))
total=${#inc_dates[*]}
for (( i=0; i<$(( $total )); i++ ))
do
tmplist[$i]=$(tempfile);
rdiff-backup --list-at-time "${inc_dates[$i]}" "$1" | sort > "${tmplist[$i]}"
if [ "$i" -gt 0 ]; then
deleted=($(comm -2 -3 "${tmplist[$i-1]}" "${tmplist[$i]}"))
nr=${#deleted[*]}
if [ "$nr" -gt 0 ]; then
echo "$nr file(s) deleted between ${inc_dates[$i-1]} and ${inc_dates[$i]}:"
printf '%s\n' "${deleted[@]}"
fi
fi
done