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