This commit is contained in:
Skylar Grant 2021-09-21 21:26:37 -04:00
parent ebf4b84c5d
commit 942bc651a9
3 changed files with 186 additions and 0 deletions

117
backup.sh Normal file
View File

@ -0,0 +1,117 @@
#!/bin/bash
# Interactive backup script written by Skylar Grant
#
# GitHub: https://github.com/voidf1sh/backup-script
# File: backup.sh
# Version: 0.0.1
# Date: 2021.09.21
####################################################
####################################################
# Formatting Tips:
# (Tips found at : https://misc.flogisoft.com/bash/tip_colors_and_formatting)
#
# Formatting:
# \e[1m - Bold
# \e[2m - Dim
# \e[8m - Hidden (passwords)
#
# Reset:
# \e[0m - Reset All Attributes
# \e[21m - Reset Bold/Bright
# \e[22m - Reset Dim
# \e[28m - Reset Hidden
#
# Colors:
# \e[39m - Default Foreground Color
# \e[30m - Black
# \e[31m - Red
# \e[32m - Green
# \e[34m - Blue
####################################################
# Some initial variables to work with
# Note: this isn't ideal, this is going to name the
# backup according to the time the script is launched
# not according to the time the actual backup was initiated
backupdir="$(pwd)/backups"
timestamp=$(date "+%Y%m%d_%H%M")
filename="backup_$timestamp.tar.gz"
# Initial Prompt
# Bash allows for linebreaks in string literals and will
# break lines accordingly in the shell
echo -e "
\e[1m\e[32m[ Skylar's Backup Script ]\e[0m
\e[32mThis script is being run from: \e[0m'$(pwd)'
\e[32mBackup Filename: \e[0m'$filename'
\e[32mCurrent Backup Location: \e[0m'$backupdir'
\e[32mDirectories to Backup: \e[0m'/var/www', '$HOME'
\e[34mPlease enter an option from below:\e[0m
\e[34m[1] \e[0mCreate a new backup.
\e[34m[2] \e[0mList saved backups.
\e[34m[3] \e[0mCheck /tmp for any rogue backups.
\e[34m[4] \e[0mChange backup directory.
\e[34m[5] \e[0mGenerate a reusable backup script using these settings.
\e[34m[0] \e[31mExit\e[0m
"
if ! test -d "$backupdir"; then
echo -e "\e[31mError: The backup directory does not exist.
\e[0mWould you like to create it? [y/n]"
read -p "[y/n]: " yesno
case "$yesno" in
"y")
mkdir -p "$backupdir"
;;
"n")
;;
esac
fi
# Wait for input
read -p " Option: " opt
# Execute the correct commands based on input.
case "$opt" in
1)
# Create new backup
clear
tar -czf "/tmp/$filename" /var/www $HOME
mv "$filename" "$backupdir"
;;
2)
# List saved backups
clear
ls -al "$backupdir" | grep "backup"
;;
3)
# Check /tmp for any rogue backups.
clear
ls -al /tmp | grep backup
;;
4)
# Change backup directory
read -p " New directory: " newdir
backupdir=$newdir
;;
0)
# Exit the script
echo "!! Quitting !!"
sleep 0.4s
clear
exit
;;
*)
clear
echo "!! Invalid Option !!"
;;
esac
exec ./backup.sh

Binary file not shown.

69
botcp.sh Normal file
View File

@ -0,0 +1,69 @@
#!/bin/bash
# UI/Prompt
echo -e "
\e[0mDiscord Bot Control Panel\e[32m
Options:
\e[35m[1] \e[32mStart all bots.
\e[35m[2] \e[32mStop all bots.
\e[35m[3] \e[32mBot 1 Log
\e[35m[4] \e[32mBot 2 Log
\e[35m[5] \e[32mBot 3 Log
\e[35m[6] \e[32mBot 4 Log
\e[35m[0] \e[31mExit \e[32m
Bot 1 PID: \e[0m`pgrep -f "[n]ode /home/ubuntu/bot1/bot.js"`
Bot 2 PID: \e[0m`pgrep -f "[n]ode /home/ubuntu/bot2/bot.js"`
Bot 3 PID: \e[0m`pgrep -f "[n]ode /home/ubuntu/bot3/bot.js"`
Bot 4 PID: \e[0m`pgrep -f "[n]ode /home/ubuntu/bot4/bot.js"`"
# Bot PIDs
bbotPID=`pgrep -f "[n]ode /home/ubuntu/bot1/bot.js"`
vbotPID=`pgrep -f "[n]ode /home/ubuntu/bot2/bot.js"`
sbotPID=`pgrep -f "[n]ode /home/ubuntu/bot3/bot.js"`
abotPID=`pgrep -f "[n]ode /home/ubuntu/bot4/bot.js"`
# Wait for input
read -p " Option: " opt
# Execute commands based on input.
case "$opt" in
1)
echo " Starting all bots..."
node /home/ubuntu/bot1/bot.js &>> /home/ubuntu/logs/bot1.log &
node /home/ubuntu/bot2/bot.js &>> /home/ubuntu/logs/bot2.log &
node /home/ubuntu/bot3/bot.js &>> /home/ubuntu/logs/bot3.log &
node /home/ubuntu/bot4/bot.js &>> /home/ubuntu/logs/bot4.log &
sleep 0.4s
clear
;;
2)
echo " Stopping all bots..."
kill -9 $bbotPID
kill -9 $vbotPID
kill -9 $sbotPID
kill -9 $abotPID
sleep 0.4s
clear
;;
3)
;;
4)
;;
5)
;;
6)
;;
0)
echo " Quitting this script..."
sleep 0.4s
clear
exit
;;
*)
clear
;;
esac
exec ./botcp