Скрипты оболочки, связанные с конвейером: прерывание прерывания одного сценария

Если процессоры будут совместно использовать всю корневую файловую систему, это будет включать все конфигурации, в том числе, например, конфигурацию nfs. Как они узнают, что они главные или компаньоны?

Одним из подходов было бы создание разделов на флэш-памяти для самых больших каталогов (узнайте это с помощью du -sm /*|sort -n) и монтирование их с компаньонов, если это возможно (вы можете сделать это с /home или /usr, но не с /etc).

Но пока система находится в разработке, вы можете не знать, сколько места вам понадобится на каждом разделе, поэтому лучше иметь только маленький раздел /root и один большой другой раздел, например /shared, который можно смонтировать. Затем вам нужно будет создать символические ссылки, например ln -s /shared/home /home. Но убедитесь, что вы не сломали свою систему! Если вы попытаетесь переместить /bin на общий раздел, /bin/mount не будет найден при загрузке.

1
19.04.2017, 09:20
1 ответ

El problema era set -e. Si uno presiona p. Ctrl -c mientras varios comandos se canalizan juntos, SIGINT no se envía al script, sino a otro lugar. Esto crea un error que es manejado por set -e, por lo que el script sale directamente. Para usar set -econfiable en scripts con tuberías, también se debe atraparEXIT:

#!/bin/sh
set -e
temp_dir=`mktemp -d`
cd $temp_dir
trap "rm -r $temp_dir; exit" HUP INT TERM PIPE EXIT
 for db in db1 db2 db3
   do
     pg_dump $db postgres > $db.sql
done
tar cJf -.

En este caso, también lo normal exites manejado por trap, que en muchos casos es de todos modos útil.

0
28.01.2020, 00:57

Теги

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