Skip to content

Instantly share code, notes, and snippets.

@amiller
Forked from theY4Kman/prepare_s3.sh
Created April 9, 2011 06:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save amiller/911189 to your computer and use it in GitHub Desktop.
Save amiller/911189 to your computer and use it in GitHub Desktop.
#!/bin/bash
# This file is used to split up the datasets into their own archives before
# they are uploaded to S3.
pushd data/sets/ > /dev/null
mkdir -p data/sets/
mkdir -p ../archives
find . -maxdepth 1 -mindepth 1 -type d -not -name data | while read -r set
do
export set set=`basename $set`
touch -d "`find $set -exec stat \{} --printf="%y\n" \; | sort -n -r | head -1`" ${set}test
if [ ${set}test -nt ../archives/$set.tar.gz ]
then
ln -sd `pwd`/$set data/sets/$set
tar -chvf ../archives/$set.tar.gz data/ > /dev/null
echo "Compressed dataset \"$set\" to data/archives/$set.tar.gz"
rm data/sets/$set
else
echo "$set.tar.gz up to date!"
fi
rm ${set}test
done
rm -rf data
popd > /dev/null
s3cmd -P sync -rr data/archives/ s3://blockplayer/datasets/
echo "Complete!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment