每 5 分钟自动运行命令

每 5 分钟自动运行命令

我对使用 Linux 非常陌生,尤其是命令行。我已成功启动并运行 Plex Media Server,但我需要每 5 分钟运行以下命令以与我的 Amazon Drive 同步。

acd_cli 同步

我尝试过各种不同的方法,比如 bash 脚本,但都无法让它工作。我只需要上面的命令每 5 分钟运行一次,感觉有一种我不知道的简单方法。

答案1

简易方法

您可以设置一个 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 秒)运行一次。

答案2

您可以使用

crontab -e

创建用户 cron 计划。

您特别需要的是

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

backup.sh添加任何要运行的命令时,请确保脚本是可执行的,即chmod +x backup.sh

看一下

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

答案3

watch如果您需要在屏幕上显示输出并自动清除,还有命令。

watch -n 300 acd_cli sync

答案4

当您说 5 分钟时,您是指 5 分钟还是您会在 5 分钟内忘记该命令并让它无限期地运行

有很多选项可供选择,但我将向您展示 4 种巧妙的方法来实现这一点。


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

这表示 i 为 0,然后 0 小于 20,因此它将减 1 直到达到 0。因此它将运行 20 次。每 5 分钟

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

这表示,虽然为真,但每 5 分钟执行一次给定的命令,从现在开始持续 30 分钟,要运行此命令,您需要通过运行 apt install at --assume-yes 来安装,但不确定这是否会在循环中起作用

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

此命令表示,当 $i 保持低于 20 时,执行您列出的 Amazon Cloud Drive 命令行界面,然后 i 仍然是在命令的每次出现时加一,每 5 分钟永远

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

这表示对于输入序列 20,每 5 分钟执行 20 次 Amazon Cloud Drive 同步

相关内容