From 0bba787e9c63f1c526997ca5c3f85df0efbd38ed Mon Sep 17 00:00:00 2001 From: Carl N Baldwin Date: Sat, 26 Nov 2005 18:45:01 -0700 Subject: [PATCH] Just some misc clean-up to Alan's stuff. --- main.cpp | 20 +++++++++++++------- scripts/pack-image.sh | 39 +++++++++++++-------------------------- 2 files changed, 26 insertions(+), 33 deletions(-) diff --git a/main.cpp b/main.cpp index 6dc5465..d11237c 100644 --- a/main.cpp +++ b/main.cpp @@ -136,7 +136,10 @@ void delete_objects( ITER begin, const ITER &end ) { int main() { // Check to make sure required env variables are set - if(getenv("backupdbin") == NULL || getenv("backupdbout") == NULL || getenv("blocksize") == NULL || getenv("availsizemb") == NULL) + if( getenv( "backupdbin" ) == NULL || + getenv( "backupdbout" ) == NULL || + getenv( "blocksize" ) == NULL || + getenv( "availsizemb" ) == NULL ) { cerr << "Required environment variables are not set. Exiting." << endl; return 1; @@ -195,8 +198,9 @@ int main() { sort( backups_s.rbegin(), backups_s.rend(), FileData::sizecmp ); file_set final; - unsigned long long space = atoll(getenv("availsizemb")) * 1048576ull; - + const unsigned long long availsizemb = atoll( getenv("availsizemb") ) * 0x100000ull; + unsigned long long space = availsizemb; + insert_iterator final_i( final, final.begin() ); // Copy files over until full or out of files @@ -230,9 +234,11 @@ int main() { sizes( final.begin(), final.end(), total_blocks, total_bytes ); // Track how many disks there are remaining to be burned - unsigned long long disks_remaining = 0; - if(modified_bytes || added_bytes) - disks_remaining = (unsigned long long)ceil(static_cast(modified_bytes+added_bytes)/(atoll(getenv("availsizemb"))*1048576ull))-1; + unsigned long long disks_remaining = 0; + if(modified_bytes || added_bytes) + disks_remaining = static_cast( + ceil( static_cast( modified_bytes + added_bytes ) / availsizemb ) - 1 + ); updateLastBackupDate( final.begin(), final.end(), now ); @@ -250,7 +256,7 @@ int main() { cerr << " Added Blocks: " << added_blocks << endl; cerr << " Modified Bytes: " << modified_bytes << endl; cerr << " Modified Blocks: " << modified_blocks << endl; - cerr << " Disks Remaining: " << disks_remaining << endl << endl; + cerr << " Disks Remaining: " << disks_remaining << endl << endl; cerr << "Will be backed up..." << endl; cerr << " Essential Bytes: " << essential_bytes << endl; diff --git a/scripts/pack-image.sh b/scripts/pack-image.sh index fd1e8bc..2bdb75e 100755 --- a/scripts/pack-image.sh +++ b/scripts/pack-image.sh @@ -10,8 +10,9 @@ export PATH=$scriptsdir:/bin:/usr/bin:/sbin:/usr/sbin # source the system specific configuration [ -f /etc/lsbackups.conf ] && . /etc/lsbackups.conf +simulate= # process command line arguments -case "$1" in +case "$1" in -s) simulate=1;; esac @@ -23,12 +24,8 @@ restorescript="$scriptsdir/restore.sh" echo "-> Creating directories" mkdir --mode=700 -p $datadir $imagedir $isomountdir $tmpdir -if [ $? != 0 ] -then - if test -d $isomountdir - then - rm -rf $isomountdir - fi +if [ $? != 0 ]; then + test -d $isomountdir && rm -rf $isomountdir err "Unable to create the following directories: $datadir $imagedir $isomountdir $tmpdir" fi @@ -39,25 +36,20 @@ dd of=$isoimage bs=1M count=0 seek=$imagesizemb [ $? != 0 ] && err "dd failed to create $isoimage" mke2fs -b $blocksize -F $isoimage - -if [ $? != 0 ] -then +if [ $? != 0 ]; then rm -rf $isomountdir $isoimage err "Unable to create the iso image: $isoimage" fi e2label $isoimage $today - -if [ $? != 0 ] -then +if [ $? != 0 ]; then rm -rf $isomountdir $isoimage err "Unable to label the iso image: $isoimage" fi echo "-> Mounting the iso image" mount -t ext2 -o loop $isoimage $isomountdir -if [ $? != 0 ] -then +if [ $? != 0 ]; then rm -rf $isomountdir $isoimage err "Unable to mount the iso image: $isoimage -> $isomountdir" fi @@ -70,18 +62,16 @@ echo "-> Running find to get the status of files" { for type in d f l; do findformat="$type %#m %u %g %s %CY%Cm%Cd%CH%CM%CS 0 %p\0" - if [ -z "$excludedirs" ] - then + if [ -z "$excludedirs" ]; then find $backupdirs -type $type -printf "$findformat" else echo $excludedirs | sed -e 's/ /\n/g' > $tmpdir/excluded find $backupdirs -type $type -printf "$findformat" | grep -z -v -f $tmpdir/excluded fi done -} > $currentfiles +} > $currentfiles -if [ ! -z $simulate ] -then +if [ -n $simulate ]; then backupdbin=$backupdbout fi @@ -92,8 +82,7 @@ echo "-> Determining list of files to backup with lsbackups" cat $currentfiles } | lsbackups > $backups 2>$statusfile -if [ ! -z $simulate ] -then +if [ -n $simulate ]; then umount $isomountdir rm -rf $isomountdir $isoimage cat $statusfile @@ -104,8 +93,7 @@ fi echo "-> Running rsync to pack the image" rsyncopts="-W -H -S -l -p -t -g -o -0 --files-from=- --stats --progress" cat $backups | rsync $rsyncopts / $isomountdir -if [ $? != 0 ] -then +if [ $? != 0 ]; then umount $isomountdir rm -rf $isomountdir $isoimage $backupdbout err "Unable to rsync to pack the image" @@ -134,6 +122,5 @@ echo $today > $lastbackupfile echo "-> Moving new database to $backupdbin" mv $backupdbout $backupdbin -[ $? != 0 ] && err "Unable to move backupdb: $backupdbout to $backupdbin" - +[ $? != 0 ] && err "Unable to move backupdb: $backupdbout to $backupdbin" -- 2.34.1