Added slackupdr_checker
This commit is contained in:
52
bash/slackupdr_checker
Executable file
52
bash/slackupdr_checker
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
#/usr/local/bin/slackupdr_checker
|
||||
# Check for .new config files and then (k)eep, (o)verwrite or (r)emove
|
||||
|
||||
# Ensure the script is executed with sudo
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "This script must be run with sudo."
|
||||
exec sudo "$0" "$@"
|
||||
fi
|
||||
|
||||
CONFIG_DIR="/etc" # Modify this path if necessary
|
||||
NEW_FILES=$(find "$CONFIG_DIR" -name "*.new")
|
||||
|
||||
for NEW_FILE in $NEW_FILES; do
|
||||
OLD_FILE="${NEW_FILE%.new}"
|
||||
|
||||
echo -e "\nProcessing: $NEW_FILE"
|
||||
|
||||
if [ -f "$OLD_FILE" ]; then
|
||||
echo "Diff between $OLD_FILE and $NEW_FILE:"
|
||||
diff -u "$OLD_FILE" "$NEW_FILE" | less -X # Pipe to 'less' for better readability
|
||||
else
|
||||
echo "New config file found: $NEW_FILE (no existing counterpart)"
|
||||
fi
|
||||
|
||||
echo -e "\nChoose an action:"
|
||||
echo " (K)eep the old file and the new file"
|
||||
echo " (O)verwrite old file with new (.orig backup)"
|
||||
echo " (R)emove the .new file"
|
||||
echo -n "Your choice: "
|
||||
read -n 1 -r CHOICE # single keypress
|
||||
echo # newline after keypress
|
||||
|
||||
case "$CHOICE" in
|
||||
K|k) echo "Keeping $OLD_FILE and $NEW_FILE" ;;
|
||||
O|o)
|
||||
mv "$OLD_FILE" "$OLD_FILE.orig"
|
||||
mv "$NEW_FILE" "$OLD_FILE"
|
||||
echo "Overwritten $OLD_FILE with $NEW_FILE (backup saved as .orig)"
|
||||
;;
|
||||
R|r)
|
||||
rm "$NEW_FILE"
|
||||
echo "Removed $NEW_FILE"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid choice, skipping..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "Processing complete!"
|
||||
|
||||
Reference in New Issue
Block a user