linux使用flock解决crontab任务冲突
生活随笔
收集整理的這篇文章主要介紹了
linux使用flock解决crontab任务冲突
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux的crontab最小的間隔是每分鐘執行一次,但是如果在這一分鐘之內,之前的命令并沒有執行完成呢?這樣就會產生沖突。接下來我介紹一個解決沖突的辦法,那就是linux的flock文件鎖.
格式:
flock [-sxun][-w #] fd#
flock [-sxon][-w #] file [-c] command
參數是:
-s, --shared: 獲得一個共享鎖 -x, --exclusive: 獲得一個獨占鎖 -u, --unlock: 移除一個鎖,通常是不需要的,腳本執行完會自動丟棄鎖 -n, --nonblock: 如果沒有立即獲得鎖,直接失敗而不是等待 -w, --timeout: 如果沒有立即獲得鎖,等待指定時間 -o, --close: 在運行命令前關閉文件的描述符號。用于如果命令產生子進程時會不受鎖的管控 -c, --command: 在shell中運行一個單獨的命令 -h, --help 顯示幫助 -V, --version: 顯示版本?
下面是在crontab中的使用:
* * * * * flock -xn /tmp/aaa.lock -c 'php /home/aaa.php >> /home/aaa.log' . //-xn 文件鎖使用獨占鎖,如果鎖定則失敗不等待。?
轉載于:https://www.cnblogs.com/liujiaq/p/6782603.html
總結
以上是生活随笔為你收集整理的linux使用flock解决crontab任务冲突的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到老公光着屁股怎么回事周公解梦
- 下一篇: TAppEncoder的main函数