Использование rsync для поддержки клона SD-карты для Raspberry Pi

Использование tee -aдля добавления к ряду файлов и раскрытие фигурной скобки.

Я также не думаю, что цикл на самом деле нужен, так как teeвыполняет работу по одновременной записи в несколько файлов.

cat <<-"EOF" | tee -a "$HOME"/public_html/*.{com,biz,co.il}/.htaccess
       Apache_directive_set_1
       Apache_directive_set_2
EOF

Строка

"$HOME"/public_html/*.{com,biz,co.il}/.htaccess

будет расширен до

/home/something/public_html/*.com/.htaccess /home/something/public_html/*.biz/.htaccess /home/something/public_html/*.co.il/.htaccess

и затем глобусы сделают свою работу, сопоставляя соответствующие подкаталоги.

Если существует риск того, что глобус может не соответствовать чему-либо, вам, вероятно, следует также установить параметр оболочки nullglobвbash:

shopt -s nullglob

Если этот параметр установлен, шаблон глобуса, который не соответствует ни одному существующему имени файла, будет расширен до пустой строки.


Если шаблон "$HOME"/public_html/*.{com,biz,co.il}/.htaccessрасширяется до слишком длинной строки, у вас могут возникнуть проблемы с запуском tee. В этом случае вам нужна петля:

for dir in "$HOME"/public_html/*.{com,biz,co.il}/
do
    cat <<-"EOF" >>"$dir/.htaccess"
           Apache_directive_set_1
           Apache_directive_set_2
    EOF
done

Тем не менее, по-прежнему нет необходимости cdзаходить в каталоги.

1
07.05.2020, 05:58
1 ответ

Rsync — отличный инструмент, если вам нужно создать резервную копию некоторых файлов/каталогов -, в частности, если необходимо создать резервную копию многих больших файлов, которые редко изменяются (rsync будет передавать только те, которые изменились )]. Технически вы правы, большинство вещей в Linux хранятся в файловой системе. Резервная копия (, если она сделана правильно ), позволит вам восстановить установленное программное обеспечение, вашу конфигурацию, узлы устройств в /dev/и т. д. Однако есть несколько потенциальных ловушек:

  1. Файлы будут копироваться по одному -за -, поэтому в случаях, когда несколько файлов принадлежат друг другу, они могут оказаться не синхронизированными -из -. Пример :Вы запускаете фотогалерею на Raspi, и во время резервного копирования пользователь импортирует новые изображения, в результате чего изображения записываются в файловую систему, а некоторые записи записываются в отдельный файл базы данных. Если ваш каталог с изображениями будет скопирован в самом начале резервной копии, а база данных — в конце, вы можете получить резервную копию, в которой есть база данных, содержащая новые изображения, но отсутствуют соответствующие изображения. Это зависит от характера вашего программного обеспечения, если это может вызвать серьезные головные боли.

  2. Некоторое программное обеспечение не гарантирует, что файлы на диске всегда находятся в согласованном состоянии. Другими словами, если вы создаете резервную копию файла во время его редактирования, возможно, вы создали резервную копию поврежденного файла. Скорее всего, вы будете в порядке, но безопаснее закрыть все файлы -для операционной системы, что означает ее закрытие. Если вы этого не сделаете, ваш пробег может измениться.

  3. Вы должны убедиться, что ваша резервная копия работает правильно для всех забавных типов «файлов», которые использует система Linux. Например, вы можете обратить внимание на узлы устройств в /dev/и псевдо -файловые системы в /proc/и /sys/и файлы, необходимые в процессе загрузки. Попробуйте выполнить восстановление на новую SD-карту, чтобы убедиться, что ваша резервная копия работает правильно.

  4. Полная система Linux содержит массу файлов. Синхронизация их с другим компьютером означает чтение их всех, что может значительно замедлить работу Raspi.

Рассматривали ли вы комбинацию

  1. Периодическое отключение Raspi для побитового -на -резервного копирования SD-карты на отдельный компьютер (, например. используяdd
  2. использование rsync для копирования наиболее важных файлов (например. /home, программное обеспечение, созданное из исходного кода в /usr/local или /opt )на другом компьютере периодически?
  3. Сброс списка установленных пакетов в файл, чтобы вы могли легко установить их позже, если вам нужно ?

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

2
28.04.2021, 23:16

Теги

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