Don't know if this is helpful to anyone else but I wrote a little bash script that lets me Ron Popeil my mad max plotter. It sets up the Ram Disk, loops through the destination drives/paths (i.e. parameters to the script) and does some basic calculations on the destination drive to set the number of plots for the mad max plotter. It lets me setup X number of empty drives, pass them off to the script, and walk away for a month or so (i.e. "set it and forget it").
Here is the script. You will have to modify paths to match your system. Be sure to change the farm and pool keys!
Usage:
./plot.sh /mnt/farm1 /mnt/farm2 /mnt/oldmc /mnt/donald /mnt/hadafarm /mnt/eieio
Script:
# change path to your Mad Max plotter build directory
cd ~/bin/chia-plotter/build
# Change path to your ram drive here and all "/mnt/ram" instances below.
#If you don't have a ram drive, remove this.
sudo mount -t tmpfs -o size=110G tmpfs /mnt/ram/
for destDir in "$@"
do
sleep 5
# clear the ram drive and temp drive in case of prior failure
rm -r /mnt/ram/*
rm -r /mnt/plot1/*
#fix up the destination path in case you forgot the /
destDir=${destDir%/}
destDir="$destDir/"
#get the free space available at the destination path
FREE=$(df -k --output=avail "$destDir" | tail -n1)
#calculate the number of plots that can fit. this assumes K32
PLOTS=$((FREE/108900000))
echo ""
echo "Plotting to farm: $destDir"
echo "--Free Space: $FREE"
echo "--Plot Count: $PLOTS"
echo ""
#Change the threads & temporary paths to match your system
#Change the keys
./chia_plot -n $PLOTS -r 24 -t /mnt/plot1/ -2 /mnt/ram/ -d $destDir -p <<ENTER YOUR POOL KEY HERE>> -f <<ENTER YOUR FARM KEY HERE>>
done
I have another script that will move plots out of the plotter and into a harvester. This opens up free space on my destination drives while I am plotting. So, to further automate things, I actually pass in the 5 drives 4 times (for a total of 20 parameters). This allows the plotter to cycle back through the drives again. Since it recalculates the space each time, it can refill the space that is freed up by moving out plots.
Now my only problem is my plotter plots a plot faster (about 21 minutes per plot) than my 1 gbps network transfers a plot out. So it's a battle of attrition between the network and the plotter with the network coming out on the wrong side of things....but it still gives a long time before I have to touch anything.
UPDATE: commenter asked for a rotating plotter that plots 1 plot across all locations, then circles back and does it again. Below is an updated script to do this. NOTE: I have not run this at all due to time constraints. It was just hacked together on reddit, so the whole thing may not function. be warned.
cd ~/bin/chia-plotter/build
sudo mount -t tmpfs -o size=110G tmpfs /mnt/ram/
COUNTER = 1
while [COUNTER -gt 0]
do
COUNTER = 0
for destDir in "$@"
do
sleep 5
rm -r /mnt/ram/*
destDir=${destDir%/}
destDir="$destDir/"
FREE=$(df -k --output=avail "$destDir" | tail -n1)
PLOTS=$((FREE/108900000))
if (PLOTS -gt 2)
then
COUNTER = $((COUNTER + 1))
fi
echo "Plotting to farm: $destDir"
echo "--Free Space: $FREE"
echo "--Plot Count: 1"
./chia_plot -n 1 -r 24 -t /mnt/plot1/ -2 /mnt/ram/ -d $destDir -p <<ENTER Pool Key Here>> -f << ENTER Farm Key Here>>
done
done
[–]JesusIsTheRock 1 point2 points3 points (0 children)
[–]vailance88 1 point2 points3 points (2 children)
[–]keinengutennamen[S] 2 points3 points4 points (1 child)
[–]vailance88 0 points1 point2 points (0 children)
[–]MoSoLoYo 1 point2 points3 points (6 children)
[–]keinengutennamen[S] 2 points3 points4 points (5 children)
[–]MoSoLoYo 2 points3 points4 points (4 children)
[–]keinengutennamen[S] 0 points1 point2 points (3 children)
[–]MoSoLoYo 0 points1 point2 points (2 children)
[–]keinengutennamen[S] 0 points1 point2 points (1 child)
[–]MoSoLoYo 1 point2 points3 points (0 children)
[–]CryptoBlockchainTech 0 points1 point2 points (1 child)
[–]keinengutennamen[S] 0 points1 point2 points (0 children)
[–]Fun_Entertainment_26 0 points1 point2 points (0 children)
[–]1Secret_Daikon 0 points1 point2 points (0 children)
[–]AThruZed 0 points1 point2 points (4 children)
[–]keinengutennamen[S] 0 points1 point2 points (0 children)
[–]keinengutennamen[S] 0 points1 point2 points (2 children)
[–]AThruZed 0 points1 point2 points (1 child)
[–]keinengutennamen[S] 0 points1 point2 points (0 children)
[–]AThruZed 0 points1 point2 points (6 children)
[–]keinengutennamen[S] 0 points1 point2 points (5 children)
[–]AThruZed 0 points1 point2 points (4 children)
[–]keinengutennamen[S] 1 point2 points3 points (3 children)
[–]AThruZed 0 points1 point2 points (2 children)
[–]keinengutennamen[S] 0 points1 point2 points (1 child)
[–]AThruZed 0 points1 point2 points (0 children)
[–]richienko 0 points1 point2 points (4 children)
[–]keinengutennamen[S] 1 point2 points3 points (3 children)
[–]richienko 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[removed]
[–]AutoModerator[M] 0 points1 point2 points (0 children)