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