Fcron-3.2.1

Introdução ao "Fcron"

O pacote Fcron contém um agendador periódico de comandos que visa a substituir o Vixie Cron.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.1.

Informação do Pacote

  • Transferência (HTTP): http://fcron.free.fr/archives/fcron-3.2.1.src.tar.gz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: bd4996e941a40327d11efc5e3fd1f839

  • Tamanho da transferência: 587 KB

  • Espaço em disco estimado exigido: 5,1 MB

  • Tempo de construção estimado: 0,1 UPC

Dependências do "Fcron"

Opcionais

Um MTA, editor de texto (o padrão é vi originário do pacote Vim-9.1.0041), Linux-PAM-1.6.0 e DocBook-utils-0.6.14

Instalação do "Fcron"

Fcron usa o recurso "cron" do syslog para registrar todas as mensagens. Como o LFS não configura essa facilidade em /etc/syslog.conf, isso precisa ser feito antes de instalar o Fcron. Esse comando anexará a linha necessária ao /etc/syslog.conf atual (realize como o(a) usuário(a) root):

cat >> /etc/syslog.conf << "EOF"
# Começo da adição do "fcron" ao /etc/syslog.conf

cron.* -/var/log/cron.log

# Fim da adição do "fcron"
EOF

O arquivo de configuração foi modificado, de modo que recarregar o processo de segundo plano sysklogd ativará as mudanças (novamente como o(a) usuário(a) root).

/etc/rc.d/init.d/sysklogd reload

Por razões de segurança, um(a) usuário(a) e um grupo sem privilégios para Fcron deveriam ser criados (realize como o(a) usuário(a) root):

groupadd -g 22 fcron &&
useradd -d /dev/null -c "Usuário(a) Fcron" -g fcron -s /bin/false -u 22 fcron

Agora corrija alguns locais codificados rigidamente na documentação:

find doc -type f -exec sed -i 's:/usr/local::g' {} \;

Instale Fcron executando os seguintes comandos:

./configure --prefix=/usr         \
            --sysconfdir=/etc      \
            --localstatedir=/var   \
            --without-sendmail     \
            --with-boot-install=no \
            --with-systemdsystemunitdir=no &&
make

Esse pacote não vem com uma suíte de teste.

Agora, como o(a) usuário(a) root:

make install

A instalação "DESTDIR" precisa ser feita como usuário(a) root. Além disso, se os arquivos de configuração "PAM" devessem ser instalados em /etc/pam.d, [então] você tem de criar esse diretório no "DESTDIR" antes de fazer a instalação.

Explicações do Comando

--without-sendmail: Por padrão, Fcron tentará usar o comando sendmail originário de um pacote MTA para te comunicar os resultados do "script" fcron. Essa chave é usada para desabilitar a notificação padrão de mensagem eletrônica. Omita a chave para habilitar o padrão. Alternativamente, você pode usar o --with-sendmail=</caminho/para/comando "MTA"> para usar um comando de comunicador diferente.

--with-boot-install=no: Isso impede a instalação do "script" de inicialização incluído no pacote.

--with-systemdsystemunitdir=no: Isso evita construir as unidades do systemd, que não são necessárias para um sistema SYS V.

--with-editor=</caminho/para/editor>: Essa chave te permite configurar o editor padrão de texto.

--with-dsssl-dir=</caminho/para/folhas_de_estilo_dsssl>: Possivelmente seja usado se você tiver DocBook-utils-0.6.14 instalado. Atualmente, as folhas de estilo "dsssl" estão localizadas em /usr/share/sgml/docbook/dsssl-stylesheets-1.79.

Configurando o "Fcron"

Arquivos de Configuração

/etc/fcron.conf, /etc/fcron.allow e /etc/fcron.deny

Informação de Configuração

Não existem modificações necessárias em nenhum dos arquivos de configuração. As informações de configuração podem ser encontradas na página de manual do fcron.conf.

Scripts fcron são escritos usando fcrontab. Consulte a página de manual do fcrontab para os parâmetros adequados para endereçar sua situação.

Se Linux-PAM estiver instalado, [então] dois arquivos de configuração do "PAM" serão instalados em /etc/pam.d. Alternativamente, se /etc/pam.d não for usado, [então] a instalação anexará duas seções de configuração ao arquivo /etc/pam.conf existente. Você deveria garantir que os arquivos correspondam às suas preferências. Modifique-os conforme necessário para atender às suas necessidades.

Tarefas Periódicas

Se você gostaria de configurar uma hierarquia periódica para o(a) usuário(a) "root", [então] primeiro emita os seguintes comandos (como o(a) usuário(a) root) para criar o "script" /usr/bin/run -parts:

cat > /usr/bin/run-parts << "EOF" &&
#!/bin/sh
# run-parts: Executa todos os scripts encontrados em um diretório.
# Originário do "Slackware", por Patrick J. Volkerding com ideias advindas
# das versões "Red Hat" e "Debian" desse utilitário.

# Continue quando algo falhar
set +e

if [ $# -lt 1 ]; then
  echo "Uso: run-parts <diretório>"
  exit 1
fi

if [ ! -d $1 ]; then
  echo "Não é um diretório: $1"
  echo "Uso: run-parts <diretório>"
  exit 1
fi

# Existem vários tipos de arquivos que gostaríamos de
# ignorar automaticamente, pois provavelmente serão cópias de segurança
# de outros scripts:
IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"

# Principal loop:
for SCRIPT in $1/* ; do
  # Se este não for um arquivo normal, pule-o:
  if [ ! -f $SCRIPT ]; then
    continue
  fi
  # Determine se este arquivo deveria ser ignorado pelo sufixo:
  SKIP=false
  for SUFFIX in $IGNORE_SUFFIXES ; do
    if [ ! "$(basename $SCRIPT $SUFFIX)" = "$(basename $SCRIPT)" ]; then
      SKIP=true
      break
    fi
  done
  if [ "$SKIP" = "true" ]; then
    continue
  fi
  # Se chegamos até aqui, [então] execute o script se for executável:
  if [ -x $SCRIPT ]; then
    $SCRIPT || echo "$SCRIPT falhou."
  fi
done

exit 0
EOF
chmod -v 755 /usr/bin/run-parts

Em seguida, crie o esquema do diretório para os tarefas periódicas (novamente como o(a) usuário(a) root):

install -vdm754 /etc/cron.{hourly,daily,weekly,monthly}

Finalmente, adicione o run-parts ao "fcrontab" do sistema (enquanto ainda o(a) usuário(a) root):

cat > /var/spool/fcron/systab.orig << "EOF"
&bootrun 01 * * * * root run-parts /etc/cron.hourly
&bootrun 02 4 * * * root run-parts /etc/cron.daily
&bootrun 22 4 * * 0 root run-parts /etc/cron.weekly
&bootrun 42 4 1 * * root run-parts /etc/cron.monthly
EOF

"Script" de Inicialização

Instale o "script" de iniciação /etc/rc.d/init.d/fcron a partir do pacote blfs-bootscripts-20240209.

make install-fcron

Finalmente, novamente como o(a) usuário(a) root, inicie o "fcron" e gere o arquivo /var/spool/fcron/systab:

/etc/rc.d/init.d/fcron start &&
fcrontab -z -u systab

Conteúdo

Aplicativos Instalados: fcron, fcrondyn, fcronsighup e fcrontab
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/share/doc/fcron-3.2.1 e /var/spool/fcron

Descrições Curtas

fcron

é o processo de segundo plano de agendamento

fcrondyn

é uma ferramenta de usuário(a) destinada a interagir com um processo de segundo plano fcron em execução

fcronsighup

instrui o fcron a reler as tabelas do Fcron

fcrontab

é um aplicativo usado para instalar, editar, listar e remover as tabelas usadas pelo fcron