first commit
This commit is contained in:
commit
538832be81
3 changed files with 69 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
examplefolder
|
||||||
36
cmd/overlayneaten/main.go
Normal file
36
cmd/overlayneaten/main.go
Normal 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
32
scripts/script.sh
Normal 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
|
||||||
Loading…
Add table
Reference in a new issue