Автоматично запускайте команду кожні 5 хвилин


10

Я дуже новачок у використанні Linux, особливо з командним рядком. Мені вдалося успішно запустити та запустити Plex Media Server, але мені потрібно виконувати наступну команду кожні 5 хвилин, щоб синхронізуватись із моїм Amazon Drive.

синхронізація acd_cli

Я спробував різні методи, такі як bash-скрипти, і не можу змусити його працювати. Мені просто потрібна команда вище, щоб виконувати кожні 5 хвилин, і мені здається, що існує простий спосіб, про який я не знаю.

Відповіді:


7

Легкий метод

Ви можете встановити скрипт bash, який циклічно виконує цю команду, а потім спить протягом 5 хвилин.

Відкрийте термінал і виконайте цю команду:

sudo nano /usr/local/bin/amazon-sync

Потім введіть таке:

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

Натисніть ctrl+, oщоб зберегти

Натисніть ctrl+, xщоб вийти

Виконайте цю команду:

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

Коли ви запускаєте комп'ютер, натисніть ctrl+ alt+ tі введіть, amazon-syncа потім мінімізуйте вікно терміналу. Команда виконуватиметься кожні 5 хвилин (300 секунд).


Існує спосіб змусити його запускатись при запуску, але останній раз, коли я намагався це зробити, мені довелося перейти до відновлення системи, щоб скасувати те, що я зробив, але я знаю, що це можливо, якщо ви зробите це правильно.
cheesits456

Щоб змусити його працювати при запуску, вам потрібна робота з кронштейном. Дивіться мою відповідь нижче.
Майкл Сендман

14

Можна використовувати

crontab -e

щоб створити графік користувацьких крон.

Лінія, яка вам конкретно потрібна, така

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

В backup.shдодати будь-які команди , які ви хочете запустити, переконайтеся , що сценарій є виконуваним, тобтоchmod +x backup.sh

Погляньте

http://www.unixgeeks.org/security/newbie/unix/cron-1.html


4

Також є watchкоманда, якщо вам потрібно показати результат на екрані та очистити автоматично.

watch -n 300 acd_cli sync

1

Коли ви говорите 5 хвилин, ви маєте на увазі 5 хвилин або ви забудете про команду через 5 хвилин і нехай вона працює невизначено

Є так багато варіантів на вибір, але я покажу вам 4 розумні способи втілити це в життя.


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

Це говорить про те, що я 0, то 0 менше 20, тож він буде мінус 1, поки не досягне 0. Так він буде працювати 20 разів. Кожні 5 хвилин

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

Це говорить, хоча це правда, виконайте команду, яку дають кожні 5 хвилин. Починаючи зараз протягом 30 хвилин, щоб запустити цю команду, вам потрібно буде встановити, запустивши apt install в --assume-так, не зовсім впевнений, що це буде працювати на петля, хоча

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

Ця команда говорить: «Хоча $ i залишається нижчим за 20, ви перераховували вказаний вами інтерфейс командного рядка Amazon Cloud Drive, тоді я все ще я плюс один при кожному появі команди, кожні 5 хвилин назавжди

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

Це говорить про те, що для послідовності введення 20 синхронізуйте Amazon Cloud Drive кожні 5 хвилин 20 разів

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.