Skript umožňuje zazálohování práv i obnovu na souborech ve složce ve které se nacházím a mělo by to fungovat i na vnořené adresáře a soubory, ale obnovu práv jsem zatím nezkoušel. Záloha je funkční. Toto se hodí pro případ, že kopírujete soubory z ext3/ext4 na NTFS.
#!/bin/bash
backup_file="backup_práva.txt"
if [ "$1" = "zálohuj" ]; then
# Zálohování práv do souboru
find . -printf "%p\t%u\t%g\t%m\n" > "$backup_file"
echo "Práva byla zálohována do souboru $backup_file."
elif [ "$1" = "obnov" ]; then
# Obnovení práv ze souboru
if [ -f "$backup_file" ]; then
while IFS=$'\t' read -r -a line; do
file="${line[0]}"
user="${line[1]}"
group="${line[2]}"
permissions="${line[3]}"
if [ -e "$file" ]; then
chown "$user:$group" "$file"
chmod "$permissions" "$file"
echo "Obnoveny práva pro soubor $file"
else
echo "Soubor $file již neexistuje, přeskočeno."
fi
done < "$backup_file"
echo "Práva byla obnovena ze souboru $backup_file."
else
echo "Soubor s zálohou práv ($backup_file) neexistuje."
exit 1
fi
else
echo "Neplatný argument. Použijte 'zálohuj' nebo 'obnov'."
exit 1
fi
Žádné komentáře:
Okomentovat