Last active
August 29, 2015 14:18
-
-
Save marek-saji/b5037f55a5e60c815285 to your computer and use it in GitHub Desktop.
Generate listing of stuffs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# TODO Create single commit | |
# TODO Run find in paralell, display single progress bar | |
# exit if any command fails | |
set -e | |
# kill immediate children, when script ends | |
trap 'ps -opid= --sort=start_time --ppid=$$ | head -n-2 | xargs kill' INT TERM QUIT EXIT | |
if [ "root" != "$( whoami )" ] | |
then | |
echo ERROR Run as root | |
exit 64 | |
fi | |
cd "$( dirname "$0" )" | |
for MOUNTPOINT in /media/saji/* | |
do | |
NAME="$( basename "${MOUNTPOINT}" )" | |
FN="$NAME.find" | |
if ! mountpoint "$MOUNTPOINT" | |
then | |
echo "ERROR: $MOUNTPOINT not mounted" | |
exit 66 | |
fi | |
cd "$MOUNTPOINT" | |
SIZE="$( du -b "$OLDPWD/$FN" | cut -f1 )" | |
find . | bar --size "$SIZE" --display-none --display-time --display-percent --display-bar | sort > "$OLDPWD/$FN" | |
cd - > /dev/null | |
git add "$FN" | |
if ! ( git diff --exit-code --cached "$FN" >/dev/null ) | |
then | |
git commit -m "$NAME contents as of $(date +%F\ %T)" | |
else | |
echo "No changes, omitting commit." | |
fi | |
chown -R "$( stat --format=%u:%g "$0" )" \ | |
"$FN" \ | |
"$( git rev-parse --git-dir )" | |
done | |
for MOUNTPOINT in /media/saji/* | |
do | |
cp -v *.find "${MOUNTPOINT}" | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment