first commit

This commit is contained in:
Martyn Ranyard 2026-08-13 08:38:19 +02:00
commit 538832be81
3 changed files with 69 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
examplefolder

36
cmd/overlayneaten/main.go Normal file
View file

@ -0,0 +1,36 @@
package main
import (
"os"
"fmt"
"path/filepath"
)
func DirSize(path string) (int64, error) {
var size int64
err := filepath.Walk(path, func(_ string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if !info.IsDir() {
size += info.Size()
}
return err
})
return size, err
}
func main() {
bytes,_ := DirSize(".")
if bytes < 1024 {
fmt.Println("Directory size:", bytes, "bytes")
} else if bytes < 1024*1024 {
fmt.Println("Directory size:", bytes/1024, "kbytes")
} else if bytes < 1024*1024*1024 {
fmt.Println("Directory size:", bytes/1024/1024, "mbytes")
} else if bytes < 1024*1024*1024*1024 {
fmt.Println("Directory size:", bytes/1024/1024/1024, "mbytes")
} else {
fmt.Println("Directory size:", bytes/1024/1024/1024/1024, "gbytes")
}
}

32
scripts/script.sh Normal file
View file

@ -0,0 +1,32 @@
#!/bin/bash
SCRIPTDIR=`dirname $(realpath $0)`
DEFAULTEXAMPLEFOLDER=${SCRIPTDIR}/../examplefolder
EXAMPLEFOLDER=$(realpath ${1:-$DEFAULTEXAMPLEFOLDER})
mkdir -p $EXAMPLEFOLDER 2>/dev/null
if [ ! -f lower1/Jan/01 ]; then
mkdir $EXAMPLEFOLDER/lower1
mkdir $EXAMPLEFOLDER/lower2
mkdir $EXAMPLEFOLDER/upper
mkdir $EXAMPLEFOLDER/merged
mkdir $EXAMPLEFOLDER/workdir
for month in 01-Jan 02-Feb 03-Mar 04-Apr; do
mkdir $EXAMPLEFOLDER/lower1/$month; for day in `seq -w 01 03`; do
dd if=/dev/urandom of=$EXAMPLEFOLDER/lower1/$month/$day bs=1M count=1
done
done
for month in 05-May 06-Jun 07-Jul 08-Aug; do
mkdir $EXAMPLEFOLDER/lower2/$month; for day in `seq -w 01 03`; do
dd if=/dev/urandom of=$EXAMPLEFOLDER/lower2/$month/$day bs=1M count=1
done
done
fi
if ! mount | grep 'examplefolder/merged'; then
sudo mount -t overlay overlay $EXAMPLEFOLDER/merged -olowerdir=$EXAMPLEFOLDER/lower1:$EXAMPLEFOLDER/lower2,upperdir=$EXAMPLEFOLDER/upper,workdir=$EXAMPLEFOLDER/workdir
fi
if [ ! -f $EXAMPLEFOLDER/merged/09-Sep ]; then
for month in 09-Sep 10-Oct 11-Nov 12-Dec; do
mkdir $EXAMPLEFOLDER/merged/$month; for day in `seq -w 01 03`; do
dd if=/dev/urandom of=$EXAMPLEFOLDER/merged/$month/$day bs=1M count=1
done
done
fi