[GLOBAL] Initial commit
This commit is contained in:
commit
235374c222
41
FreeBSD/jail/jail-backup.csh
Normal file
41
FreeBSD/jail/jail-backup.csh
Normal file
@ -0,0 +1,41 @@
|
||||
#!/bin/csh
|
||||
|
||||
## config section
|
||||
set ezjail_config_dir = "/usr/local/etc/ezjail"
|
||||
set backup_config_dir = "/tank/backup/jails"
|
||||
set backup_date = `date "+%Y%m%d%H%M.%S"`
|
||||
|
||||
# backup all jails
|
||||
echo ""
|
||||
echo "################ BACKUP JAILS #################"
|
||||
foreach jail (`ls /usr/jails | \
|
||||
grep -v basejail | \
|
||||
grep -v ezjail_archives | \
|
||||
grep -v flavours | \
|
||||
grep -v newjail | \
|
||||
grep -v fulljail`)
|
||||
|
||||
## stopping jail
|
||||
ezjail-admin stop $jail
|
||||
|
||||
## start backing up jail + jailconfig
|
||||
echo "Backup jails: $jail"
|
||||
|
||||
## backup jail config
|
||||
cp $ezjail_config_dir/$jail $backup_config_dir
|
||||
mv $backup_config_dir/$jail "$backup_config_dir/$jail-$backup_date.conf"
|
||||
|
||||
## backup jail content
|
||||
ezjail-admin archive $jail
|
||||
echo ""
|
||||
|
||||
## start jail
|
||||
ezjail-admin start $jail
|
||||
echo ""
|
||||
|
||||
end
|
||||
|
||||
# report done
|
||||
echo ""
|
||||
echo "############### ALL DONE THANKS ###############"
|
||||
echo ""
|
32
FreeBSD/jail/jail-update.csh
Normal file
32
FreeBSD/jail/jail-update.csh
Normal file
@ -0,0 +1,32 @@
|
||||
#!/bin/csh
|
||||
|
||||
# Upgrade host packages
|
||||
echo ""
|
||||
echo "############ UPGRADE HOST PACKAGES ############"
|
||||
echo ""
|
||||
pkg update && \
|
||||
pkg upgrade -y && \
|
||||
pkg clean -ya
|
||||
|
||||
# Upgrade jail packages
|
||||
echo ""
|
||||
echo "############ UPGRADE JAIL PACKAGES ############"
|
||||
foreach jail (`ls /usr/jails | \
|
||||
grep -v basejail | \
|
||||
grep -v ezjail_archives | \
|
||||
grep -v flavours | \
|
||||
grep -v newjail | \
|
||||
grep -v fulljail`)
|
||||
|
||||
echo ""
|
||||
echo "Updating $jail"
|
||||
pkg -j $jail update && \
|
||||
pkg -j $jail upgrade -y && \
|
||||
pkg -j $jail clean -ay
|
||||
|
||||
end
|
||||
|
||||
# Report done
|
||||
echo ""
|
||||
echo "############### ALL DONE THANKS ###############"
|
||||
echo ""
|
24
FreeBSD/other/url-check.csh
Normal file
24
FreeBSD/other/url-check.csh
Normal file
@ -0,0 +1,24 @@
|
||||
#!/bin/csh -f
|
||||
set MODE=$1
|
||||
set CURL=/usr/local/bin/curl
|
||||
|
||||
if ($MODE == no_auth) then
|
||||
set URL=$2
|
||||
set HS=$3
|
||||
set STATUS=`$CURL -L -o /dev/null -s -w "%{http_code}\n" -m 1 $URL`
|
||||
|
||||
else if ($MODE == auth) then
|
||||
set AUTH=$2
|
||||
set URL=$3
|
||||
set HS=$4
|
||||
set STATUS=`$CURL -L -o /dev/null -s -w "%{http_code}\n" -m 1 --user $AUTH $URL`
|
||||
|
||||
else
|
||||
exit 1
|
||||
endif
|
||||
|
||||
if ($STATUS == 200) then
|
||||
$CURL -fsS --retry 3 $HS > /dev/null
|
||||
else
|
||||
exit 1
|
||||
endif
|
22
FreeBSD/storage/partition-disk-zfs.md
Normal file
22
FreeBSD/storage/partition-disk-zfs.md
Normal file
@ -0,0 +1,22 @@
|
||||
# How to replace a ZFS drive
|
||||
|
||||
```
|
||||
# Put drive offline
|
||||
sudo zpool tank da3 offline
|
||||
```
|
||||
|
||||
```
|
||||
sudo gpart destroy -F da7
|
||||
```
|
||||
|
||||
```
|
||||
# Partition drive
|
||||
sudo gpart create -s gpt da7
|
||||
sudo gpart add -s 100M -t freebsd-swap da7
|
||||
sudo gpart add -t freebsd-zfs da7
|
||||
```
|
||||
|
||||
```
|
||||
# Replace drive in pool
|
||||
sudo zpool replace -f tank 16950429292085325612 /dev/da7p2
|
||||
```
|
27
FreeBSD/vm/vcreate.csh
Normal file
27
FreeBSD/vm/vcreate.csh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/csh -f
|
||||
# set arguments
|
||||
set HOSTNAME=$1
|
||||
set IP=$2
|
||||
|
||||
if ( $3 == "" ) then
|
||||
set SIZE=20G
|
||||
else
|
||||
set SIZE=$3
|
||||
endif
|
||||
|
||||
# set static variables
|
||||
set VM=/usr/local/sbin/vm
|
||||
set TEMPLATE=ubuntu-small
|
||||
set IMAGE=ubuntu20.img
|
||||
set PUBKEY=/home/simon/.ssh/id_ed25519.pub
|
||||
set NAMESERVER=192.168.10.254
|
||||
set GATEWAY=192.168.10.254
|
||||
|
||||
# create vm
|
||||
$VM create \
|
||||
-t $TEMPLATE \
|
||||
-s $SIZE \
|
||||
-i $IMAGE \
|
||||
-C -k $PUBKEY \
|
||||
-n "ip=$IP/24;gateway=$GATEWAY;nameservers=$NAMESERVER" \
|
||||
$HOSTNAME
|
67
FreeBSD/vm/vm-backup-single.bash
Normal file
67
FreeBSD/vm/vm-backup-single.bash
Normal file
@ -0,0 +1,67 @@
|
||||
#!/usr/local/bin/bash
|
||||
|
||||
## config section
|
||||
vm=$1
|
||||
vm_dataset="zroot/vms"
|
||||
vm_pid=`/usr/bin/pgrep -f "bhyve: $vm"`
|
||||
backup_location="/tank/backup/vms/"
|
||||
backup_date=`date "+%Y-%m-%d"`
|
||||
enc_password="nDNmPPBPk7jQnwke"
|
||||
|
||||
# snapshot vm
|
||||
echo ""
|
||||
for vm in $vm; do
|
||||
|
||||
## prepare
|
||||
echo "################## PREPARE ####################"
|
||||
if [ $vm_pid != 0 ]
|
||||
then
|
||||
(vm stop $vm > /dev/null) >& /dev/null
|
||||
|
||||
### check when vm is shutdown properly
|
||||
echo "Waiting for $vm to shutdown properly"
|
||||
|
||||
while [[ ${?} == 0 ]]
|
||||
do
|
||||
ps -p $vm_pid > /dev/null
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "################## SNAPSHOT ###################"
|
||||
echo "Making a snapshot of $vm"
|
||||
sleep 1
|
||||
|
||||
## create snapshot
|
||||
zfs snapshot $vm_dataset/$vm@$backup_date
|
||||
|
||||
## start VM
|
||||
echo "Starting $vm"
|
||||
(vm start $vm > /dev/null) >& /dev/null
|
||||
|
||||
done
|
||||
|
||||
# backup vm snapshot
|
||||
echo ""
|
||||
echo "################## BACKUP VM ##################"
|
||||
for vm in $vm; do
|
||||
|
||||
echo "Send snapshot to local backup destination"
|
||||
sleep 1
|
||||
|
||||
## send snapshot to backup destination
|
||||
zfs send $vm_dataset/$vm@$backup_date | \
|
||||
pigz -c -p 4 | \
|
||||
openssl enc -aes-256-ctr -a -pbkdf2 -iter 1000 -salt -k $enc_password \
|
||||
> $backup_location/$vm-$backup_date.pigz.enc
|
||||
|
||||
## delete snapshot
|
||||
sleep 1
|
||||
zfs destroy $vm_dataset/$vm@$backup_date
|
||||
|
||||
done
|
||||
|
||||
# report done
|
||||
echo ""
|
||||
echo "############### ALL DONE THANKS ###############"
|
||||
echo ""
|
71
FreeBSD/vm/vm-backup-single.csh
Normal file
71
FreeBSD/vm/vm-backup-single.csh
Normal file
@ -0,0 +1,71 @@
|
||||
#!/bin/csh
|
||||
## config section
|
||||
set vm = $1
|
||||
set vm_dataset = "zroot/vms"
|
||||
set vm_pid = `/usr/bin/pgrep -f "bhyve: $vm"`
|
||||
set backup_location = "/tank/backup/vms/"
|
||||
set backup_date = `date "+%Y-%m-%d"`
|
||||
|
||||
# snapshot vm
|
||||
echo ""
|
||||
foreach vm ($vm)
|
||||
|
||||
## prepare
|
||||
echo "################## PREPARE ####################"
|
||||
|
||||
vm list | grep $vm ## DELETE ME
|
||||
|
||||
if ( $vm_pid != 0 ) then
|
||||
(vm stop $vm > /dev/null) >& /dev/null
|
||||
|
||||
### check when vm is shutdown properly
|
||||
echo "Waiting for $vm to shutdown properly"
|
||||
|
||||
while ({ /usr/bin/pgrep $vm_pid })
|
||||
echo "Waiting for pid $vm_pid"
|
||||
sleep 2
|
||||
end
|
||||
|
||||
vm list | grep $vm ## DELETE ME
|
||||
|
||||
endif
|
||||
|
||||
echo ""
|
||||
echo "################## SNAPSHOT ###################"
|
||||
echo "Making a snapshot of $vm"
|
||||
sleep 1
|
||||
|
||||
## create snapshot
|
||||
zfs snapshot $vm_dataset/$vm@$backup_date
|
||||
|
||||
## start VM
|
||||
echo "Starting $vm"
|
||||
sleep 1
|
||||
(vm start $vm > /dev/null) >& /dev/null
|
||||
|
||||
end
|
||||
|
||||
# backup vm snapshot
|
||||
echo ""
|
||||
echo "################## BACKUP VM ##################"
|
||||
foreach vm ($vm)
|
||||
|
||||
echo "Send snapshot to local backup destination"
|
||||
sleep 1
|
||||
|
||||
## send snapshot to backup destination
|
||||
zfs send $vm_dataset/$vm@$backup_date | \
|
||||
gzip | \
|
||||
openssl enc -aes-256-cbc -a -pbkdf2 -iter 1000 -salt -k development \
|
||||
> $backup_location/$vm-$backup_date.gz.enc
|
||||
|
||||
## delete snapshot
|
||||
sleep 1
|
||||
zfs destroy $vm_dataset/$vm@$backup_date
|
||||
|
||||
end
|
||||
|
||||
# report done
|
||||
echo ""
|
||||
echo "############### ALL DONE THANKS ###############"
|
||||
echo ""
|
58
FreeBSD/vm/vm-backup.csh
Normal file
58
FreeBSD/vm/vm-backup.csh
Normal file
@ -0,0 +1,58 @@
|
||||
#!/bin/csh
|
||||
|
||||
## config section
|
||||
set vm_dataset = "zroot/vms"
|
||||
set backup_dataset = "tank/backup/bhyve"
|
||||
set backup_date = `date "+%Y-%m-%d"`
|
||||
|
||||
# Snapshot all VMs
|
||||
echo ""
|
||||
echo "################# SNAPSHOT VM #################"
|
||||
foreach vm (`ls /usr/vms | \
|
||||
grep -v .config | \
|
||||
grep -v .iso | \
|
||||
grep -v .templates`)
|
||||
|
||||
## stopping vm
|
||||
vm stop $vm
|
||||
|
||||
## give vm time to shut down properly
|
||||
sleep 15
|
||||
|
||||
## snapshot vm
|
||||
echo "Snapshot VM: $vm"
|
||||
zfs snapshot $vm_dataset/$vm@$backup_date
|
||||
echo ""
|
||||
|
||||
## start VM
|
||||
vm start $vm
|
||||
echo ""
|
||||
|
||||
end
|
||||
|
||||
# Backup all VM snapshots
|
||||
echo ""
|
||||
echo "################## BACKUP VM ##################"
|
||||
foreach vm (`ls /usr/vms | \
|
||||
grep -v .config | \
|
||||
grep -v .iso | \
|
||||
grep -v .templates`)
|
||||
|
||||
## Create ZFS dataset
|
||||
echo "Creating destination dataset for $vm"
|
||||
zfs create $backup_dataset/$vm-$backup_date
|
||||
|
||||
## Send snapshot to backup destination
|
||||
echo "Backup VM: $vm"
|
||||
zfs send $vm_dataset/$vm@$backup_date | zfs recv -F $backup_dataset/$vm-$backup_date
|
||||
echo ""
|
||||
|
||||
## Delete snapshot
|
||||
zfs destroy $vm_dataset/$vm@$backup_date
|
||||
|
||||
end
|
||||
|
||||
# report done
|
||||
echo ""
|
||||
echo "############### ALL DONE THANKS ###############"
|
||||
echo ""
|
25
Linux/url-check.sh
Normal file
25
Linux/url-check.sh
Normal file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/csh -f
|
||||
set MODE=$1
|
||||
set CURL=/usr/bin/curl
|
||||
|
||||
if ($MODE == no_auth) then
|
||||
set URL=$2
|
||||
set HS=$3
|
||||
set STATUS=`$CURL -L -o /dev/null -s -w "%{http_code}\n" -m 1 $URL`
|
||||
|
||||
else if ($MODE == auth) then
|
||||
set AUTH=$2
|
||||
set URL=$3
|
||||
set HS=$4
|
||||
set STATUS=`$CURL -L -o /dev/null -s -w "%{http_code}\n" -m 1 --user $AUTH $URL`
|
||||
|
||||
else
|
||||
exit 1
|
||||
endif
|
||||
|
||||
if ($STATUS == 200) then
|
||||
$CURL -fsS --retry 3 $HS > /dev/null
|
||||
else
|
||||
exit 1
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user