berto -> mkmodrpt -- automating Saves, Logs & Scripts .zip file creation (10/10/2012 6:26:12 PM)
In the course of my SVF playtest, I frequently post images, but also .zip files with Saves, Logs & Scripts.
The first time or two I did that, it was tedious, boring, and -- I could see -- eventually prone to error. There has to be a better way...
There is! Here is a Bash script, which I run in Cygwin for Windows, to prepare the .zip files, in one easy command line:
$ cat /home/Robert/bin/mkmodrpt
if [ $1 = "-z" ]; then
SRCDIR="/cygdrive/c/Games/AGEOD/AGEod's American Civil War SVF/ACW"
mkdir $TGTDIR 2>/dev/null
rsync -vap --delete "$SRCDIR/Logs" $TGTDIR
rsync -vap --delete "$SRCDIR/Scripts" $TGTDIR
rsync -vap --delete "$SRCDIR/Saves/$SAVNAM" $TGTDIR/Saves
for f in `ls -tr | head -n -3`; do rm -f $f; done
rm -rf Backup[2-9] Backup??
if [ $ZIPIT ]; then
zip -r $RPTNAM.zip $RPTNAM
mkdir's a temporary staging directory
copies (by means of rsync) the game Logs, Scripts & Saves folders to that staging directory
rm's (removes) all but the most recent 3 script files
rm's all but the last two backup sets
optionally creates a .zip file of the bundle (optional, because I can manually use WinZip etc. instead if for some reason I prefer)
I could fancy this up, by adding command-line options, and suitable code, for different AGEOD games (and game installations), different game playtests, etc. But I'm KISSing this for now.
Here is a sample mkmodrpt invocation:
$ /home/Robert/bin/mkmodrpt -z SVF20betaS2 SVF20Beta20121008TheUniverseOfBattle
where 'SVF20betaS2' is the name of my test game, and 'SVF20Beta20121008TheUniverseOfBattle' is the name of my .zip file.
(I have a suite of Cygwin Bash scripts for automating weather mod creation, maintenance & QA, for example:
$ find bin/weathers -type f | egrep -v "~"
For AGElint development, maintenance & operation, there are many, many more Linux scripts besides.)
Without Linux & Cygwin, without programs and scripts, without automation -- without these things, I don't know that I would playtest, mod (weathers and ...), develop AGElint. Too much trouble. In some respects, next to impossible.
Linux, Cygwin, etc. -- Try them, you'll like them!