Added slackupdr_checker

This commit is contained in:
2025-04-21 14:36:19 +09:30
parent 78286622a8
commit 565b9464a4

52
bash/slackupdr_checker Executable file
View 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!"