Atualmente, utilizo em uma máquina a distribuição Linux Solus com o Budgie como interface gráfica.

No passado, quando precisei agendar tarefas (em distribuições baseadas em Debian) utilizei o Cron, mas o repositório Solus não possui esse pacote. Foi então, que pesquisando uma alternativa, encontrei exemplos utilizando o systemd.

No caso que exemplifico, preciso executar, a cada 15 minutos, um shell script (pedro.sh) que está na raiz do meu diretório pessoal .

Para agendar, segui os seguintes passos:

  1. Criar o diretório ~/.config/systemd/user (caso ele ainda não exista).

  2. Dentro do diretório acima, criar dois arquivos. No no meu caso foi o pedro.timer e o pedro.service. Sendo que no primeiro arquivo ficam as informações de quando o serviço é executado e no segundo as instruções para executar o script pedro.sh.
 Conteúdo do pedro.timer
[Unit]
Description=Timer para o script Pedro

[Timer]
# Define o nome do arquivo do serviço
Unit=pedro.service
# A cada 15 minutos
OnCalendar=*:0/15

[Install]
WantedBy=multi-user.target
 Conteúdo do pedro.service
[Unit]
Description= script Pedro

[Service]
Type=simple
ExecStart=/home/pedro/pedro.sh
StandardError=journalw
  1. Após criar os arquivos, executar os seguintes comandos:
systemctl — user enable pedro.timer

systemctl — user start pedro.timer 

Pronto, a execução do script foi agendada.

Mais informações acerca do assunto, visite: https://wiki.archlinux.org/index.php/Systemd/Timers