Executa automaticamente um comando a cada 5 minutos

6

Eu sou muito novo em usar o Linux e especialmente com a linha de comando. Eu consegui colocar o Plex Media Server em funcionamento com sucesso, mas preciso executar o seguinte comando a cada 5 minutos para sincronizar com o meu Amazon Drive.

acd_cli sync

Eu tentei vários métodos diferentes, como scripts do bash, e não consigo fazê-lo funcionar. Eu só preciso do comando acima para executar a cada 5 minutos e parece que há uma maneira fácil que eu não sei.

    
por SneakierDAG 21.11.2016 / 21:32

4 respostas

1

Método Fácil

Você pode configurar um script bash que faz um loop para sempre, executando o comando e dormindo por 5 minutos.

Digite

sudo nano /usr/bin/amazon-sync

Digite

#!/bin/sh  
while true  
do  
acd_cli sync  
sleep 300  
done

Pressione ctrl + o

Pressione ctrl + x

Digite

sudo chmod a+x /usr/bin/amazon-sync  

Quando você inicializar seu computador, pressione ctrl + alt + t e digite amazon-sync , minimizando a janela do terminal. O comando será executado uma vez a cada 5 minutos (300 segundos).

    
por ChristianF97 21.11.2016 / 21:42
8

Você pode usar

crontab -e

para criar um cronograma de usuário.

A linha que você precisa especificamente é

*/5 * * * * /home/YOU/backup.sh

Em backup.sh adicione todos os comandos que você deseja executar, verifique se o script é executável, por exemplo, chmod +x backup.sh

Dê uma olhada em

link

    
por Michael Sandman 21.11.2016 / 21:38
2

Há também o comando watch , se você precisar mostrar a saída na tela e limpar automaticamente.

watch -n 300 acd_cli sync
    
por Sergiy Kolodyazhnyy 05.06.2018 / 09:56
0

Quando você diz 5 minutos, Você quer dizer 5 minutos ou vai esquecer o comando Em 5 minutos e deixá-lo funcionando Indefinidamente

Há tantas opções para escolher, mas mostrarei 4 maneiras inteligentes de implementar isso.

for (( i=0; i<=20; i++)); do 'acd_cli sync' $i ;sleep 300; done
  
    

Isso diz que eu sou 0, então 0 é menos que 20, então vai menos 1 até chegar a 0. Então vai rodar 20 vezes. A cada 5 minutos

  
while true; do 'acd_cli sync'; sleep 300; done | at now +30 min
  
    

Isto diz enquanto verdadeiro, faça o comando dado a cada 5 minutos, Começando agora por 30 minutos, Para executar este comando você precisará instalar em executando apt install em --assume-yes, não exatamente certo de que isto vai funcionar em um loop embora

  
while true [ $i -lt 20 ]; do 'acd_cli sync' & i=$[$i+1];sleep 300; done
  
    

Esse comando diz: Enquanto $ i permanece menor que 20, a interface de linha de comando do Amazon Cloud Drive que você listou é i i ainda mais um em cada ocorrência do comando, a cada 5 minutos para sempre

  
for i in $(seq 20); do 'acd_cli sync' $i; sleep 300; done
  
    

Isso diz para a sequência de entrada 20 fazer o Amazon Cloud Drive sincronizar, a cada 5 minutos 20 vezes

  
    
por hello moto 05.06.2018 / 15:41