adding personal scripts

This commit is contained in:
2025-05-20 09:15:41 -04:00
parent fd41d1f0aa
commit 428084e4ee
9 changed files with 272 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
# IPMI IP address
IPMIHOST=<hostname>
# IPMI Username
IPMIUSER=<username
# IPMI Password
IPMIPW=<password>
# Your IPMI Encryption Key
IPMIEK=0<IPMI Encryption Key>
# Fan Speed / utilisation in percentage, for example 9 for 9% utilisation
# Please note that each fan can have a different rpm and will not all be the same speed
FANSPEED=10
# TEMPERATURE
# Change this to the temperature in Celsius you are comfortable with.
# If the temperature goes above the set degrees it will send raw IPMI command to enable dynamic fan control
MAXTEMP=30
# This variable sends a IPMI command to get the temperature, and outputs it as two digits.
# Do not edit unless you know what you do.
# Side note, if you are running ipmitool on the system you are controlling, you don't need to specify -H,-U,-P - from the OS installed on the host, ipmitool is assumed permitted. You only need host/user/pass for remote access.
TEMP=$(ipmitool -I lanplus -H $IPMIHOST -U $IPMIUSER -P $IPMIPW -y $IPMIEK sdr type temperature |grep Ambient |grep degrees |grep -Po '\d{2}' | tail -1)
# Dont edit this, this converts decimal to hex
SPEEDHEX=$( printf "%x" $FANSPEED )
if [[ $TEMP > $MAXTEMP ]];
then
printf "Warning: Temperature is too high! Activating dynamic fan control! ($TEMP C)" | systemd-cat -t R710-IPMI-TEMP
echo "Warning: Temperature is too high! Activating dynamic fan control! ($TEMP C)"
# This sets the fans to auto mode, so the motherboard will set it to a speed that it will need do cool the server down
ipmitool -I lanplus -H $IPMIHOST -U $IPMIUSER -P $IPMIPW -y $IPMIEK raw 0x30 0x30 0x01 0x01
else
printf "Temperature is OK ($TEMP C)" | systemd-cat -t R710-IPMI-TEMP
printf "Activating manual fan speeds! (1560 RPM)"
# This sets the fans to manual mode
ipmitool -I lanplus -H $IPMIHOST -U $IPMIUSER -P $IPMIPW -y $IPMIEK raw 0x30 0x30 0x01 0x00
# This is where we set the slower, quite speed
ipmitool -I lanplus -H $IPMIHOST -U $IPMIUSER -P $IPMIPW -y $IPMIEK raw 0x30 0x30 0x02 0xff 0x$SPEEDHEX
fi
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/python3
from subprocess import check_output, run
from time import sleep
import datetime
from datetime import datetime
def get_time():
ts1 = str(datetime.now()).split('.')[0]
return ts1
mountpoints = [
'/mnt/main_bridge',
'/mnt/engineering',
'/mnt/shuttlebay'
]
def main():
timestamp = get_time()
print(f'Start time: {timestamp}')
for mountpoint in mountpoints:
run(['umount',mountpoint])
run(['mount',mountpoint])
timestamp = get_time()
print(f'End time: {timestamp}')
if __name__ == '__main__':
main()
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/python3
import os
import subprocess
import glob
vbProcess = "C:/Program Files (x86)/VideoReDoTVSuite6/vp.vbs"
work_dir = "Z:/work_dir/incoming"
os.chdir(work_dir)
project_files = []
for file in glob.glob("*.vprj"):
project_files.append(file)
for file in project_files:
filename = file.replace('.vprj','.mp4')
vbRun = f'cscript //nologo "{vbProcess}" "Z:\\work_dir\\incoming\\{file}" "Z:\\work_dir\\output\\{filename}" /q'
print(f'executing {vbRun}')
subprocess.run(vbRun)
exit(0)
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
ipmitool -I lanplus -H 192.168.128.223 -U root -P Optimus0329 -y 0000000000000000000000000000000000000000 power off
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
ipmitool -I lanplus -H 192.168.128.223 -U root -P Optimus0329 -y 0000000000000000000000000000000000000000 power on
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/python3
import os
import sys
import subprocess
from subprocess import check_output, run
import time
from time import sleep
import datetime
from datetime import datetime
def get_time():
ts1 = str(datetime.now()).split('.')[0]
return ts1
def call_powerup(vmid):
run(['/usr/sbin/qm','start',vmid])
def monitor_status(vmid):
vmstatus = 'stopped'
while vmstatus == 'stopped':
sleep(5)
vmstatus = check_output(['/usr/sbin/qm','status',vmid])
vmstatus = vmstatus.decode().split(': ')[1].rstrip()
return 'Done'
def main():
timestamp = get_time()
print(f'Start time: {timestamp}')
vms = ['105']
for vm in vms:
try:
print(f'starting up {vm}')
call_powerup(vm)
vresult = monitor_status(vm)
print(f'{vresult}')
except Exception as e:
print(f'{vm} currently not running')
timestamp = get_time()
print(f'End time: {timestamp}')
if __name__ == '__main__':
main()
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/python
import glob
import os
from pathlib2 import Path
dir_list = []
p = "/Volumes/engineering/media/Television"
for directory in [str(item) for item in Path(p).rglob(".")]:
if 'Season' in directory:
dir_list.append(directory)
for directory in dir_list:
file_list = os.walk(directory)
for filelist in file_list:
flist = filelist[2]
for filename in filelist[2]:
fname = str.encode(filename)
if str.encode('tvrenametemp') in fname:
oldfile = f'{directory}/{filename}'
newfile = f'{directory}/{filename.replace(".tvrenametemp","")}'
print(f'Renaming {newfile} to {newfile}')
os.rename(oldfile, newfile)
exit()
+29
View File
@@ -0,0 +1,29 @@
### Trim Proxmox host volumes and all LXCs on node ###
# Run as weekly cron job
# !/bin/bash
# Script colors
green=`tput setaf 2`
reset=`tput sgr0`
# Path to FSTRIM
FSTRIM=/sbin/fstrim
# List of host volumes to trim separated by spaces
# eg TRIMVOLS="/mnt/a /mnt/b /mnt/c"
TRIMVOLS="/"
## Trim all LXC containers ##
echo "${green}LXC CONTAINERS${reset}"
for i in $(pct list | awk '/^[0-9]/ {print $1}'); do
echo "Trimming Container $i"
pct fstrim $i 2>&1 | logger -t "pct fstrim [$$]"
done
echo ""
## Trim host volumes ##
echo "${green}HOST VOLUMES${reset}"
for i in $TRIMVOLS; do
echo "Trimming $i"
$FSTRIM -v $i 2>&1 | logger -t "fstrim [$$]"
done
+77
View File
@@ -0,0 +1,77 @@
#!/usr/bin/python3
import os
import sys
import subprocess
from subprocess import check_output, run
import time
from time import sleep
import datetime
from datetime import datetime
def get_time():
ts1 = str(datetime.now()).split('.')[0]
return ts1
def call_vm_shutdown(vmid):
run(['/usr/sbin/qm','shutdown',vmid])
def call_lxc_shutdown(lxc):
run(['/usr/bin/lxc-stop',lxc])
def get_status(vmid):
vmstatus = check_output(['/usr/sbin/qm','shutdown',vmid])
vmstatus = vmstatus.decode().split(': ')[1].rstrip()
return vmstatus
def monitor_status(vmid):
vmstatus = 'running'
while vmstatus == 'running':
sleep(5)
vmstatus = check_output(['/usr/sbin/qm','status',vmid])
vmstatus = vmstatus.decode().split(': ')[1].rstrip()
return 'Done'
def lxc_status(lxc):
vmstatus = 'running'
while vmstatus.lower() == 'running':
sleep(5)
vmoutput = check_output(['lxc-info', lxc])
if b'RUNNING' not in vmoutput:
vmstatus = 'stopped'
#vmstatus = vmstatus.decode().split(': ')[1].rstrip()
print(vmstatus)
return 'Done'
def shutdown_host():
run(['/usr/sbin/init','0'])
def main():
timestamp = get_time()
print(f'Start time: {timestamp}')
vms = ['115', '109', '108', '107', '101']
for vm in vms:
try:
print(f'Shutting down {vm}')
call_vm_shutdown(vm)
vresult = monitor_status(vm)
print(f'{vresult}')
except Exception as e:
print(f'{vm} currently not running')
lxcs = ['110', '114', '113', '111', '103', '104', '105', '112']
for lxc in lxcs:
try:
print(f'Shutting down {lxc}')
call_lxc_shutdown(lxc)
vresult = lxc_status(lxc)
print(f'{vresult}')
except Exception as e:
print(f'{lxc} currently not running')
timestamp = get_time()
print(f'End time: {timestamp}')
#shutdown_host()
if __name__ == '__main__':
main()