每60秒bash复制一个文件

Sha*_*ins 2 linux bash loops cp

我有一个thecus nas服务器,他们似乎对他们的模板做一些棘手的事情来显示他们的文件,目前正在启动我正在运行一个shell命令将一个文件复制到另一个文件上,所以它用我的自定义模板启动经过一段时间后(我不确定这个时间是什么)它会再次用原始文件覆盖它,我的自定义模板就不见了.

这是我目前的启动脚本:

#!/bin/bash
cp /customTemplates/login.tpl /www/img/templates/adm/login.tpl
Run Code Online (Sandbox Code Playgroud)

有没有办法,执行该复制命令,比如每60秒一次?login.tpl文件只有2kb,所以我不认为这会导致任何问题.

这样做有什么不妥吗?或者我可以使用另一种技巧吗?

Rei*_*ase 7

要回答一般问题,有两种方法可以执行此操作,将其放入while/sleep循环或使用crontab

1) while/sleep

#!/bin/bash
while true; do
  cp -f /customTemplates/login.tpl /www/img/templates/adm/login.tpl
  sleep 60
done
Run Code Online (Sandbox Code Playgroud)

2) crontab(首选)

运行crontab -e并将以下行放在那里

* * * * * cp -f /customTemplates/login.tpl /www/img/templates/adm/login.tpl
Run Code Online (Sandbox Code Playgroud)

这将在每周的每个月的每个月的每一小时的每一分钟运行命令.(每60秒一次)

但是,正如Aaron Digulla所说,最好是从那里拉出配置并在那里编辑它,而不是每隔60秒覆盖一次.