Skip to main content

Search file with word list fast

Feb 22, 2022LeifMessinger
Loading...

More Shell Posts

BackBlaze Backup Script

Dec 23, 2024AustinLeath

0 likes • 25 views

#!/bin/bash
# RCLONE BACKUP SCRIPT (using ionice)
# Type crontab -e and copy the line below without the #
# 0 0 * * * ionice -c 3 /home/owner/backup.sh >/dev/null 2>&1
nowdate=$(date -u)
# OPTIONS
WEBHOOK="YOUR_DISCORD_WEBHOOK_LINK_HERE"
LOGFILE="/root/backup.log"
FROM="/path/where/you/backup/from"
TO="backblaze:BucketName/FolderName"
SERVERNAME="Server Name"
echo "$SERVERNAME started a backup - $nowdate" | tee -a $LOGFILE
curl --data "content=$SERVERNAME started a backup - $nowdate" $WEBHOOK | tee -a $LOGFILE && echo "" >> $LOGFILE
if pidof -o %PPID -x "backup.sh"
then
echo "Failed backup attempt on $SERVERNAME - $nowdate (rclone already running)" | tee -a $LOGFILE
curl --data "content=Failed backup attempt on $SERVERNAME - $nowdate (rclone already running)" $WEBHOOK | tee -a $LOGFILE
exit 1
fi
rclone sync $FROM $TO -P --b2-hard-delete --stats 5s --progress | sed 's/Transferred:/\n\nTransferred:/' | tee -a $LOGFILE
enddate=$(date -u)
endtime=$(date +'%T')
echo "Completed backup on $SERVERNAME - $enddate" | tee -a $LOGFILE
curl -F "content=Completed backup on $SERVERNAME - $enddate" -F upload=@"$LOGFILE" $WEBHOOK | tee -a $LOGFILE
if [ -f $LOGFILE ]
then
rm $LOGFILE
fi

Find data-testids

Jul 8, 2024C S

0 likes • 16 views

#!/bin/bash
# Set the directory to search
DIRECTORY="src"
# Set the output file
OUTPUT_FILE="testids.txt"
# Clear the output file
> "$OUTPUT_FILE"
# Find all .tsx files in the specified directory and its subdirectories
find "$DIRECTORY" -type f -name "*.tsx" | while read -r FILE
do
# Search for instances of 'data-testid="testid"' and append them to the output file
grep -o 'data-testid="[^"]*"' "$FILE" >> "$OUTPUT_FILE"
# Search for instances of "'data-testid': 'testid'" and append them to the output file
grep -o "'data-testid': '[^']*'" "$FILE" >> "$OUTPUT_FILE"
done
echo "Search complete. Test IDs written to $OUTPUT_FILE."

Untitled

May 20, 2024AustinLeath

0 likes • 12 views

#!/bin/sh
BAT_LOW=15
BAT_CRITICAL=5
if [ "$1" = "--help" ]
then
printf "
Usage:
\tbattery_check.sh warning%% hibernate%%
Description:
\tA script for notifying the user via dunst and logging when
\tthe battery is low and the system is going to hibernate.
\tCan be supplied arguments for the battery low warning and
\thibernation percentage thresholds as the first and second arguments.
\t Default behavior is to warn at 15% and hibernate at 5%."
exit
fi
if [[ -n "$1" && -n "$2" && $1 -gt $2 ]]
then
BAT_LOW=$1
BAT_CRITICAL=$2
fi
acpi -b | awk -F'[,:%]' '{print $2, $3}' | {
read -r status capacity
echo Low threshold: $BAT_LOW, Hibernate threshold: $BAT_CRITICAL
echo Status: $status, Capacity: $capacity
if [ "$status" = Discharging -a "$capacity" -le $BAT_CRITICAL ]; then
echo Battery critical threshold.
dunstify -u critical "Critical battery threshold, hibernating..."
logger "Critical battery threshold, hibernating..."
sleep .5
systemctl hibernate
exit
fi
if [ "$status" = Discharging -a "$capacity" -le $BAT_LOW ]; then
echo Battery low threshold.
dunstify -u critical 'Battery low! System will hibernate at 5%.'
logger 'Battery low! System will hibernate at 5%.'
sleep .5
light -S 15
exit
fi
}

upload_key.sh

Jan 12, 2023LeifMessinger

0 likes • 3 views

#!/bin/bash
#Originally made by Isaac Cook https://gist.github.com/icook/5400173
#Modified by Leif Messinger
#upload_key.sh [server_ip [server2_ip [...]]]
#To be run locally on a linux computer
if [ -e ~/.ssh/id_rsa.pub ];
then
echo "SSH Key already exists on local machine"
else
echo "Generating SSH key on local machine"
ssh-keygen -t rsa #generates id_rsa and id_rsa.pub
chmod -R 700 ~/.ssh #Sets permissions of ssh folder
ssh-add #Adds keys (and passwords?) to ssh_agent. (hopefully doesn't require password)
fi
echo "Loading client public key into memory"
pubKey=$(<~/.ssh/id_rsa.pub)
for server
do
echo "Adding client public key to $server remote server authorized keys"
#Idiot Isaac Cook didn't know about ssh-copy-id
#ssh-copy-id even checks if your key already exists
#In fairness, I didn't either until researching ssh-add
ssh-copy-id -i ~/.ssh/id_rsa.pub $server #In theory, this should prompt for a username
#ssh $server "mkdir -p ~/.ssh; #Make the folder if not already made
# echo \"$pubKey\" >> ~/.ssh/authorized_keys; #Append your public key to the server's authorized_keys
# chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys" #Set the correct permissions of those files
#echo "Adding server public key to local authorized keys"
#ssh $server "ssh-copy-id -i ~/.ssh/id_rsa.pub \$SSH_CLIENT" #this might need some awk, as $SSH_CLIENT spits out clientip portnumber
echo "Displaying server public key"
ssh $server "cat ~/.ssh/id_rsa.pub"
#Though, he did give me a good idea
echo "Displaying keys authorized on $server (you can paste them in your authorized_keys file)"
ssh $server "cat ~/.ssh/authorized_keys"
#echo "Appending keys authorized on $server to your local authorized_keys"
#ssh $server "cat ~/.ssh/authorized_keys" >> ~/.ssh/authorized_keys
done
echo "SSH keys schronized successfully!"

Delete Git Branches

Mar 10, 2023Helper

1 like • 6 views

#!/bin/bash
for branch in $(git branch | cut -c 3-); do
read -p "Delete local branch $branch? (y/n) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
git branch -D $branch
fi
done

checkAndPush.sh

Nov 4, 2023LeifMessinger

0 likes • 7 views

#!/bin/bash
git status
echo "Do you want to add all changed files?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit 1;;
esac
done
git add -u
git status
echo "Does this look right?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit 2;;
esac
done
git commit
echo "Do you want to push?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit 2;;
esac
done
git push