Изменить файл fstab на серверах [закрыто]

0
16.11.2018, 02:47
2 ответа

Это должно позаботиться о том, что вы хотите, и добавит _05042018ко всем каталогам, подпадающим под archive, когда они включают wrm6.

sed -i -E "s/(.*wrm6[[:space:]]+\/archive\/)(.+)([[:space:]]+NFS.*)/\1\2_05042018\3/g" /etc/fstab
1
28.01.2020, 02:43

Следующий скрипт будет

  1. проверить, действительно ли существуют новые точки монтирования (и прервать в противном случае ),
  2. сделать датированную резервную копию существующего /etc/fstabфайла и, наконец,
  3. изменить файл /etc/fstab.

Я бы рекомендовал запустить его на копии файла fstabнесколько раз, чтобы убедиться, что он работает в вашей системе. Просто измените переменную fstabв верхней части скрипта, чтобы она указывала на другой файл.

Только скрипт добавляет суффикс к точке монтирования. Он не пытается удалить его, если он там уже есть.

#!/bin/sh

set -e  # terminate on errors (don't remove!)

fstab='/etc/fstab'                    # these could be made command line arguments
device_pattern='^NAS[0-9]:/vol/wrm6'  # but I kept them like this for simplicity
dir_pattern='^/archive/'
suffix='_05042018'

# Check for non-existing mount points
awk -v suf="$suffix" -v dev="$device_pattern" -v dir="$dir_pattern" \
    '$1 ~ dev && $2 ~ dir { print NR, $1, $2 suf }' "$fstab" |
while read lineno device mtpoint; do
    if [ ! -d "$mtpoint" ]; then
        printf 'Mount point "%s" for "%s" is missing on line %d of %s\n' \
            "$mtpoint" "$device" "$lineno" "$fstab" >&2
        #exit 1
    fi
done

# Make backup
bkname="$fstab-backup.$(date +%F_%H%M%S)"
cp "$fstab" "$bkname"

# Modify file
awk -v suf="$suffix" -v dev="$device_pattern" -v dir="$dir_pattern" \
    '$1 ~ dev && $2 ~ dir { $2 = $2 suf } 1' "$bkname" >"$fstab"

echo 'Done.'
echo 'New fstab:'
cat "$fstab"

"Не удалять!" комментарий реальный. Если set -eудалить, то скрипт не завершится, если будет найдена недопустимая точка монтирования (, по крайней мере, при работе под bashилиpdksh).

0
28.01.2020, 02:43

Теги

Похожие вопросы