RSS
 

ncftp & ghettovcb Working Together

28 May

I’m a bit chuffed with my scripting efforts in ESXi, so I thought I would share, I hope someone else might find this useful.

To give a bit of background, I run a VMWare Hypervisor ESXi server, it’s only a free license version single host, so most of the backup software doesn’t work that you can buy. But I have found an awesome script called ghettovcb that utilizes the snapshot and VM console commands to make VM running (and off) backups of my guest VMs. But obviously I want to get this data off the host, this is where ncftp comes in.

Now I found the code I needed to write to get all my machines backed up and transferred was crazy, and to get these two to work together.

Writing this, I’ve just thought I should code up all the commands into a single script file, maybe that’ll be next. But the below allows you to state a single VM’s backup folder, or a list with the “-f textfilewithvmsperline” command, which I’ve been able to use the same list from ghettovcb, so I know, if it’s backed up, it’ll be uploaded also.

Well, shout out if this has helped you.

#!/bin/sh

#Where are a few things in your file structure
NCFTP="/vmfs/volumes/5TB-RAID5EE/ncftp/bin/ncftpput"
FTPHOST="192.168.100.200"
FTPUSER="Username"
FTPPASS="Password"
FTPPATH="Share/Folder"
BACKUPS="/vmfs/volumes/5TB-RAID0/backups"
SHORTNAMEFORECHO="5TB-RAID0/backups"
#The rest below shouldn't need changing

#Turn the firewall off, got this permanently set though it's hand to keep it in mind
#esxcli network firewall set --enabled false

#Check a VM name has been given, and advise if not.
if [ "$1" == "" ]; then
echo "Please enter the name of the VM you wish to upload..."
exit 1
else
# Check if a -f command has been issued, for a file list upload
if [ "$1" == "-f" ]; then
echo "Flag issued for VMs file list to upload, load these and process.."
UPLOAD=`cat $2`
#echo "$UPLOAD" && exit 0 #Debugging line to see the list before it is run, this is normally commented out
else
echo "Single named VM listed to upload, processing.."
UPLOAD=$1
fi
fi

#Okay lets get down to business and process this list or single VM
for I in $UPLOAD; do
#Identify the most recent backup files for the listed VM
echo "You've stated $I, looking up the most recent backup."
LASTBACKUP=`ls -Art $BACKUPS/$I | tail -n 1`

#Check if a location has been found.
if [ "$LASTBACKUP" == "" ]; then
echo "Results of the search have failed, please check the listed name and try again."
else
echo "The last backup location is $SHORTNAMEFORECHO/$I/$LASTBACKUP"
# Use this location and upload it to Icharus NAS
echo "Beginning upload of folder"
$NCFTP -u$FTPUSER -p$FTPPASS -E -R $FTPHOST $FTPPATH $BACKUPS/$I/$LASTBACKUP
fi
done

#Should be all done, suggesting so...
echo "Complete"

#Turn the Firewall back on
#esxcli network firewall set --enable true

 
 

Squeezing A Automanaged Drive

22 May

So I run MythTV, and when I rebuild/transferred all my recordings to my new server I gave it an extra 0.3TB space, giving it a total of 1.3TB. Well a few months on I’m regretting my decision.

So looking into deleting recordings, and then freeing the space seemed like a massive job, so instead I’ve written some code to consume hard drive space at a 1GB per 6 hours (4GB per day) to force the inbuilt recording management to delete the old recording faster for me.

Yeah okay it’ll take 3 months to make the space, but it only took me an hour to write this, compared to fighting for weeks with new recordings taking space that I’ve freed.

Hopefully it can help you too somewhere, if you’ve found and will use it shout out, be interesting to hear how it helped.

#!/bin/sh

# This script is running daily to squeeze the myth storage group
# smaller so I can get it to fit on a 1TB HDD again.
# I really don't feel like myth really needs that much storage for recordings

INCREASINGFILE=/mnt/storage/increasingfile
CURRENTSIZE=$(ls -lt /mnt/storage/increasingfile | awk '{print $5}')
MAXSIZE=422592708000
MAXSIZEGB=$(($MAXSIZE / 1073741824))
INCREMENT=1073741824
INCREMENTGB=$(($INCREMENT / 1073741824))

CURRENTSIZEGB=$(($CURRENTSIZE / 1073741824))

echo $INCREASINGFILE is at $CURRENTSIZEGB GB of $MAXSIZEGB GB

if [ "$CURRENTSIZE" -le "$MAXSIZE" ]
then
INCREASE=$(($CURRENTSIZE + $INCREMENT))
INCREASEGB=$(($INCREASE / 1073741824))
echo Increasing a further $INCREMENTGB GB totalling $INCREASEGB GB
fallocate /mnt/storage/increasingfile -l $INCREASE
else
echo "Script has hit $MAXSIZE ($MAXSIZEGB GB) maximium, stopping."
fi

 
 

Windows 10 Connections Menu (too many VPN’s hiding Wifi’s)

12 May

Working in IT I have a lot of VPN’s and it’s been driving me crazy the way Windows 10 handles the connection menu. The reason I went to the menu was to connect my laptop to the internet, not select a VPN that wouldn’t even work.

The below isn’t quite as I wanted, but the Windows 8 menu brings purpose to the menu having the VPN’s in again, and being full hieght gives me that bit more space to see the Wifi APN’s again, so it’ll do.

Open regedit (WIN+R and type regedit.exe)
Navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Control Panel\Settings\Network
Take ownership of the “Network” key/folder (right click, Permissions)
Select “Advanced” in the Permissions window
In the Advanced window, select “Change” where the owner field is (at the top of the window)
Type in your username and save your changes.
Close the advanced window
Now select “Administrators” in the security tab
Make sure “Full control” is selected, then apply changes
Now that’s done, double click “ReplaceVan”
Change it’s value to 2

 
 

Microsoft Exchange – Your mailbox appears to be unavailable

12 May

This just helped me out, so I thought it was worth noting

Error message: Your mailbox appears to be unavailable. Try to access it again in 10 seconds. If you see this error again, contact your helpdesk.

Test-ServiceHealth | Select ServicesNotRunning | foreach { Start-Service $_.ServicesNotRunning }

https://social.technet.microsoft.com/Forums/exchange/en-US/d0977cb3-646b-44ca-b30b-34d2abe58a6e/exchange-mailboxes-unavailable?forum=exchange2010