需要特定的cron作业解释,使用flock -n + .lock文件+ / bin / bash
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要特定的cron作业解释,使用flock -n + .lock文件+ / bin / bash相关的知识,希望对你有一定的参考价值。
我有这个cronjob,由于某种原因不起作用,但我不完全理解它的作用,有人可以解释一下吗?
flock -n /var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh.lock /bin/bash /var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh
我用谷歌搜索flock应该锁定文件,只有在它可以锁定文件时才运行,这样作业就不能同时运行多次。
-n做什么?
flock -n
为什么这是.lock文件?
/var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh.lock
我不知道/ bin / bash应该做什么?
/bin/bash
这是我想要执行的脚本吗?为什么首先添加.lock?
/var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh
答案
flock -n LOCK-FILE COMMAND
在你的情况下:
- -n:如果flock无法获取LOCK-FILE,即它已经存在,它将在那里停止,并且不执行命令。
- 因此-n确保一次只能运行一个COMMAND实例。
- 在您的情况下,LOCK-FILE是/var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh.lock
- LOCK-FILE就是您的决定。 flock将检查该文件为锁。它可以在你的系统上的任何地方命名,但是这样做很好,因为你知道.lock文件的用途。 为了说明,你可以做flock -n /tmp/some_lock_file.txt script.sh。该值未强制执行,您决定要使用的内容。
- 您的案例中的命令是/ bin / bash /var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh
- 你想要执行的脚本是COMMAND的值,所以再次为你:/ bin / bash /var/www/vhosts/blia.preview.be/scripts/blia_bab_import.sh
- / bin / bash是指定脚本blia_bab_import.sh必须在bash shell中运行。您可以在.sh文件中使用#!/ bin / bash第一行。
以上是关于需要特定的cron作业解释,使用flock -n + .lock文件+ / bin / bash的主要内容,如果未能解决你的问题,请参考以下文章