Когда мне нужно запустить скрипт, который будет выполняться в течение длительного времени, и я нахожусь в ssh
сеансе, я хочу либо:
Задача должна продолжаться даже при обрыве сети или когда я упаковываю свой ноутбук и ухожу.
а. Задача может быть завершена без моего участия.
nohup do_my_stuff &
б. Задаче может понадобиться что-то от меня на стандартном вводе.
man tmux
history -w
tmux
do_my_stuff
Фоновый процесс каким-то образом улучшает мой текущий сеанс и должен умереть вместе с сеансом. Редкость.
enhance_my_session >>/tmp/enhance.$$.log 2>&1 &
Я хочу, чтобы эта штука случайным образом выводила несколько логов во время сеанса ssh. Чего ждать? Нет, я бы никогда не хотел этого. Спасибо disown
.
Еще одна вещь, которую я никогда не хочу, :преобразовывать процесс в полностью отсоединенный демон, но избегать его автоматического запуска при следующей загрузке. Я бы никогда этого не хотел, потому что я не могу предсказать, когда система перезагрузится и кто будет ее перезагружать.
Скопируйте файлы конфигурации Yum с компьютера, на котором запущен дистрибутив CentOS, который вы хотите отразить, затем измените $releasever
, чтобы жестко запрограммировать нужную версию. Затем вы можете использовать параметр -c
для повторной синхронизации, чтобы указать ему использовать скопированный файл конфигурации вместо системного.
Например, чтобы зеркалировать последнюю версию CentOS 7 на компьютере с CentOS 8, скопируйте /etc/yum.repos.d/CentOS-Base.repo
и измените $releasever
в этом файле на 7
. Затем вы можете запустить:
reposync -c CentOS-Base.repo
Добавление любых дополнительных опций, (например, --repoid, если вы не хотите синхронизировать все включенные репозитории в этом файле ). Точно так же вы можете копировать и вносить аналогичные изменения в любые дополнительные репозитории, например в epel.repo.