Agendamento
Para executar um comando em uma programação, sua melhor opção provavelmente é usar crontab
Cron is a time-based job scheduler in Unix-like computer operating systems. The name cron comes from the word "chronos", Greek for "time". Cron enables users to schedule jobs (commands or shell scripts) to run periodically at certain times or dates.
Assim, você pode configurar scripts e / ou programas, etc. para executar em um agendamento com isso. Para seus usos, o timer mais aplicável é @reboot
, que será executado em cada reinicialização. A sintaxe real para isso seria a seguinte:
@reboot /path/to/my/script
Já que em alguns sistemas unixy, data controlando coisas é root - você pode precisar editar crontab
de um terminal root - então faça isso (você precisa ter direitos admin / sudo):
- Abra um terminal
- digite
sudo -i
ousu -
- Digite
crontab -e
(que abre o crontab em seu editor de texto ambiental - Coloque o acima em sua própria linha (
@reboot /path/to/my/script
) - Sair e salvar (os comandos reais dependem de qual editor você usa)
- Verifique se o script está marcado como executável (
chmod +x /path/to/my/script
)
O script real
Então, como eu disse acima - eu gostaria de ver você fazendo um pouco de trabalho sobre isso, já que nós não somos um serviço de roteiro , mas eu posso muito bem dar-lhe um começo .
Você pode usar o comando date
com parâmetros para obter a hora atual do sistema - você pode fazer isso com date '+%Y'
Então aqui está uma comparação baseada no ano:
#!/usr/bin/env bash
sysYr=$(date '+%Y')
cutoff=2008
if [[ $sysYr -lt $cutoff ]]; then
echo "It's before ${cutoff}!"
else
echo "It's ${cutoff} or greater!"
fi
Repartição do acima:
- Isso apenas informa ao sistema onde procurar pelo programa que executa o script. Isso é mais portátil que
/usr/bin/bash
, como costumava ser comum. Eu acredito que também funciona no mac. Se não, digitewhich bash
e você pode apontar diretamente para ele. - A
$( something )
é a substituição de comandos que substitui o comando pela saída de o comando. Nesse caso, estamos executandodate '+%Y'
, que expandirá (atualmente) para o inteiro 2013 - Definir outra variável para o limite, apenas para bom código saquê.
- Compare e faça comandos condicionais. Geralmente, é melhor citar os itens que estão sendo comparados para proteger contra espaços e afins; no entanto, estes números são numerais e não há razão para que não sejam, também
-lt
é a comparação bash para um numeral "menor que". - O resto é bastante autoexplicativo -
echo
exibe o seguinte texto.