Что касается крона, у Вас есть много команд, которые выполняются одновременно. Крон просто создает некоторые дочерние процессы, которые работают 'параллельно' - т.е. они так или иначе мультиопределяются задачу/планируются, который представляет гонки данных за Вашим вариантом использования.
Для Вашей проблемы Вам действительно не нужен крон. Простой сценарий оболочки как этот достаточно:
#!/bin/sh
function f1() {
~/myscript.pl ~/mylog | tail -3 | head -1 > ~/myreport1
~/myscript.pl ~/mylog | tail -2 | head -1 >> ~/myreport1
}
function f2() {
~/myscript.pl ~/mylog | tail -8 | head -1 > ~/myreport2
~/myscript.pl ~/mylog | tail -7 | head -1 >> ~/myreport2
~/myscript.pl ~/mylog | tail -3 | head -1 >> ~/myreport2
~/myscript.pl ~/mylog | tail -2 | head -1 >> ~/myreport2
}
while true; do
f1
f2
sleep 1
f2
sleep 1
f2
sleep 1
f2
sleep 1
f2
sleep 1
done
Теперь все четко определено, т.е. порядок выполнения гарантируется.
Вы могли запустить его (как фоновое задание) через at
- или звоните от a screen
сессия.
Термины 'стабильный' и 'нестабильный' являются относительными. Debian более стабилен, чем Ubuntu, но это не делает Ubuntu нестабильным.
Для того, чтобы быть чрезвычайно стабильным, Debian не использует последние версии пакетов программного обеспечения, а вместо этого использует более зрелые версии, которые выдержали испытание временем. Если есть ошибки, связанные с безопасностью, Debian исправит их, но не добавит никакой новой функциональности в пакет до следующего выпуска Debian.
Ubuntu, с другой стороны, будет использовать 'нестабильную' ветку для обеспечения большей функциональности. Пакеты будут протестированы до выпуска (включая Alpha и Beta выпуски), но есть вероятность того, что некоторые ошибки могли быть пропущены просто из-за того, что они были протестированы меньше.
После некоторого времени, включающего сообщения об ошибках и их разрешение пользователями Ubuntu, эта "нестабильная" ветвь Debian становится "стабильной" ветвью следующего выпуска. Затем разработчики Debian создадут следующую итерацию "нестабильной" ветки с более новыми пакетами (и, возможно, с большим количеством ошибок). Эта ветка позже станет Ubuntu и намного позже, а затем и следующей "стабильной" веткой Debian. И так далее...
Это похоже на другие дистрибутивы. RedHat очень стабилен, но пакеты в этом дистрибутиве начинают свою жизнь в Fedora, которая в этом контексте примерно эквивалентна Ubuntu.
Если бы и Ubuntu, и Fedora использовали 'стабильные' пакеты, то новые пакеты не получили бы того, что они делают в настоящее время, и прогресс был бы очень медленным.
Debian и RedHat обычно используются на серверах, так как они должны быть постоянно в сети и очень надежны. Ubuntu и Fedora меньше подходят для серверов, так как они меньше тестировались в реальном мире. Однако, они прекрасно подходят для настольных компьютеров, и пользователи, использующие их, вносят свой вклад в будущую надежность Debian и RedHat.
Вы можете считать, что LTS находится где-то между последними версиями Ubuntu и Debian. Когда Canonical выпускает Ubuntu LTS, они держатся подальше от новейших и величайших пакетов и используют более стабильные версии. Выпуски, не относящиеся к LTS, рискуют немного больше, когда речь заходит о выборе пакетов. Это гарантирует, что прогресс будет достигнут, в то время как надежная Ubuntu всегда доступна.
Если вас беспокоит стабильность - выбирайте версию LTS (14.04). С другой стороны, если вы счастливы рискнуть в случае аварии или ошибки и готовы внести свой вклад в будущее программного обеспечения с открытым исходным кодом, перейдите к последнему (15.04).
."Стабильный" в названии дистрибутива не относится к ошибке программного обеспечения в этом дистрибутиве. Это означает, что включенное в дистрибутив программное обеспечение заморожено во времени: стабильный дистрибутив имеет одни и те же версии программного обеспечения на протяжении всего своего жизненного цикла, что измеряется как минимум в месяцах и обычно в годах.
Программное обеспечение в стабильном дистрибутиве имеет тенденцию быть немного менее баггированным, потому что исправляются ошибки, в то время как не вводятся никакие новые возможности. Но это эффект второго порядка.
И Debian, и Ubuntu собирают свои выпуски из нестабильного Debian. Они берут текущий набор пакетов из Debian нестабильным (более или менее - они гарантируют, что у них есть последовательный набор, в то время как Debian нестабильный может сломаться, например, когда новая версия библиотеки попадёт внутрь, а программное обеспечение, которое полагается на неё, ещё не обновлено). Затем они постепенно замораживают дистрибутив: больше никаких крупных обновлений, затем никаких обновлений, кроме исправления ошибок. Люди тестируют замороженный дистрибутив в течение нескольких недель (недели Debian могут быть очень длинными, не забывайте); обычно они находят некоторые ошибки и несоответствия, поэтому исправляют их и делают новый цикл тестирования. После нескольких циклов тестирования дистрибутив объявляется готовым к работе.
Debian и Ubuntu имеют разные сроки и цели при подготовке выпуска, но основной процесс тот же самый.
.