cari

带大家学习Linux crontab

Jul 10, 2021 pm 03:39 PM
php

crontab

使用 cron的时候,我们经常会因为 某个命令运行时间太长,命令再次被启动时,会出现多进程。  
可以使用flock, 如:

*/1 * * * * flock -xn /opt/app/nginx/test_repo/app/tasks/checkPaymentUrl.lock -c 'sudo -u apache php /opt/app/nginx/test_repo/app/console Payment checkPaymentUrl >> /dev/null 2>&1'

当多个进程可能会对同样的数据执行操作时,这些进程需要保证其它进程没有也在操作,以免损坏数据。

通常,这样的进程会使用一个「锁文件」,也就是建立一个文件来告诉别的进程自己在运行,如果检测到那个文件存在则认为有操作同样数据的进程在工作。这样的问题是,进程不小心意外死亡了,没有清理掉那个锁文件,那么只能由用户手动来清理了。  
参数

-s,--shared:获取一个共享锁,在定向为某文件的FD上设置共享锁而未释放锁的时间内,其他进程试图在定向为此文件的FD上设置独占锁的请求失败,而其他进程试图在定向为此文件的FD上设置共享锁的请求会成功。
-x,-e,--exclusive:获取一个排它锁,或者称为写入锁,为默认项。
-u,--unlock:手动释放锁,一般情况不必须,当FD关闭时,系统会自动解锁,此参数用于脚本命令一部分需要异步执行,一部分可以同步执行的情况。
-n,--nb, --nonblock:非阻塞模式,当获取锁失败时,返回1而不是等待。
-w, --wait, --timeout seconds:设置阻塞超时,当超过设置的秒数时,退出阻塞模式,返回1,并继续执行后面的语句。
-o, --close:表示当执行command前关闭设置锁的FD,以使command的子进程不保持锁。
-c, --command command:在shell中执行其后的语句。

实例  
crontab运用flock防止重复执行

0 23 * * * (flock -xn ./test.lock -c "sh /root/test.sh") #-n 为非阻塞模式

相关推荐:《Linux视频教程

Atas ialah kandungan terperinci 带大家学习Linux crontab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:segmentfault. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Linux: Perintah dan operasi pentingLinux: Perintah dan operasi pentingApr 24, 2025 am 12:20 AM

Perintah yang tidak diperlukan di Linux termasuk: 1.LS: Kandungan Direktori Senarai; 2.CD: Tukar direktori kerja; 3.MKDIR: Buat direktori baru; 4.RM: Padam fail atau direktori; 5.CP: Salin fail atau direktori; 6.MV: Pindahkan atau menamakan semula fail atau direktori. Perintah ini membantu pengguna menguruskan fail dan sistem dengan cekap dengan berinteraksi dengan kernel.

Operasi Linux: Menguruskan Fail, Direktori, dan KebenaranOperasi Linux: Menguruskan Fail, Direktori, dan KebenaranApr 23, 2025 am 12:19 AM

Di Linux, pengurusan fail dan direktori menggunakan arahan LS, CD, MKDIR, RM, CP, MV, dan Pengurusan Kebenaran menggunakan arahan CHMOD, Chown, dan CHGRP. 1. Perintah pengurusan fail dan direktori seperti senarai terperinci LS-L, MKDIR-P membuat direktori secara rekursif. 2. Perintah Pengurusan Kebenaran seperti Kebenaran Fail Set Chmod755File, ChownUserFile mengubah pemilik fail, dan ChGRPGroupFile Change File Group. Perintah ini berdasarkan struktur sistem fail dan sistem pengguna dan kumpulan, dan mengendalikan dan mengawal melalui panggilan sistem dan metadata.

Apakah mod penyelenggaraan di Linux? DijelaskanApakah mod penyelenggaraan di Linux? DijelaskanApr 22, 2025 am 12:06 AM

Maintenancemodeinlinuxisaspecialbootenvironmentforcriticalsystemmaintenancetasks.itallowsadministratorstoperformTaskslikeresettingPasswords, RepairingFilesystems, andRecoveringFrombootfailureSinaminiMinalenvirenment.ToentermoDeDenance.ToentermodeShoode.ToentermodeShoode.ToentermodeShoode.ToentermoDeShoode.ToentermodeShoode.ToentermodeShoode.ToentermodeShoode.Toentermode

Linux: menyelam yang mendalam ke bahagian asasnyaLinux: menyelam yang mendalam ke bahagian asasnyaApr 21, 2025 am 12:03 AM

Komponen teras Linux termasuk kernel, sistem fail, shell, pengguna dan ruang kernel, pemandu peranti, dan pengoptimuman prestasi dan amalan terbaik. 1) Kernel adalah teras sistem, menguruskan perkakasan, memori dan proses. 2) Sistem fail menganjurkan data dan menyokong pelbagai jenis seperti Ext4, BTRFS dan XFS. 3) Shell adalah pusat arahan untuk pengguna untuk berinteraksi dengan sistem dan menyokong skrip. 4) Ruang pengguna berasingan dari ruang kernel untuk memastikan kestabilan sistem. 5) Pemandu peranti menghubungkan perkakasan ke sistem operasi. 6) Pengoptimuman prestasi termasuk konfigurasi sistem penalaan dan mengikuti amalan terbaik.

Seni Bina Linux: Melancarkan 5 Komponen AsasSeni Bina Linux: Melancarkan 5 Komponen AsasApr 20, 2025 am 12:04 AM

Lima komponen asas sistem Linux adalah: 1. Kernel, 2. Perpustakaan Sistem, 3. Utiliti Sistem, 4. Antara Muka Pengguna Grafik, 5. Aplikasi. Kernel menguruskan sumber perkakasan, Perpustakaan Sistem menyediakan fungsi yang telah dikompilasi, utiliti sistem digunakan untuk pengurusan sistem, GUI menyediakan interaksi visual, dan aplikasi menggunakan komponen ini untuk melaksanakan fungsi.

Operasi Linux: menggunakan mod penyelenggaraanOperasi Linux: menggunakan mod penyelenggaraanApr 19, 2025 am 12:08 AM

Mod penyelenggaraan Linux boleh dimasukkan melalui menu grub. Langkah -langkah tertentu ialah: 1) Pilih kernel dalam menu grub dan tekan 'E' untuk mengedit, 2) Tambah 'Single' atau '1' pada akhir garis 'Linux', 3) Tekan Ctrl X untuk memulakan. Mod penyelenggaraan menyediakan persekitaran yang selamat untuk tugas seperti pembaikan sistem, penetapan semula kata laluan dan peningkatan sistem.

Linux: Cara Memasuki Mod Pemulihan (dan Penyelenggaraan)Linux: Cara Memasuki Mod Pemulihan (dan Penyelenggaraan)Apr 18, 2025 am 12:05 AM

Langkah -langkah untuk memasukkan mod pemulihan Linux adalah: 1. Mulakan semula sistem dan tekan kekunci khusus untuk memasukkan menu Grub; 2. Pilih pilihan dengan (pemulihanMode); 3. Pilih operasi dalam menu Mod Pemulihan, seperti FSCK atau Root. Mod pemulihan membolehkan anda memulakan sistem dalam mod pengguna tunggal, melakukan pemeriksaan sistem fail dan pembaikan, mengedit fail konfigurasi, dan operasi lain untuk membantu menyelesaikan masalah sistem.

Komponen Penting Linux: Dijelaskan untuk PemulaKomponen Penting Linux: Dijelaskan untuk PemulaApr 17, 2025 am 12:08 AM

Komponen teras Linux termasuk kernel, sistem fail, shell dan alat biasa. 1. Kernel menguruskan sumber perkakasan dan menyediakan perkhidmatan asas. 2. Sistem fail menganjurkan dan menyimpan data. 3. Shell adalah antara muka bagi pengguna untuk berinteraksi dengan sistem. 4. Alat umum membantu menyelesaikan tugas harian.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna