Menguasai Tugas Pelayan Asas Cron dan Automasi

Artikel yang ditulis oleh: Jerry Low
  • Artikel Pilihan
  • Dikemaskini: Okt 17, 2020

Hosting web direka untuk menjadi mudah, mudah, dan sempurna untuk profesional yang sedang dalam perjalanan dan tidak boleh mendedikasikan setiap jam setiap hari untuk mengurus pelayan hosting mereka dan tugas yang berkaitan.

Untuk itu, hampir setiap pelayan berdasarkan Unix atau Linux menawarkan pengurus tugas automatik yang dikenali sebagai "cron menerusi"Atau" Crontab. "

Utiliti perisian ini adalah seperti penjadual tugas dalam Microsoft Windows, kerana ia dapat diberitahu untuk melakukan perkara-perkara tertentu pada waktu tertentu, menyimpan pengguna dari melaksanakan tugas-tugas ini secara manual. Ini amat penting apabila seseorang menganggap bahawa banyak penyelenggaraan pelayan, sandaran, dan prosedur rutin boleh mengambil jam dan jam untuk diselesaikan. Kebanyakan orang hanya mahu pulang ke rumah selepas sehari di pejabat dan berehat, dan bukannya menghabiskan malam mereka membuat sandaran fail dan menguruskan kenalan.

Orang-orang itu bernasib baik, kerana setiap tugas dapat dijadwalkan setiap hari, mingguan, atau bulanan - atau lebih jauh lagi, dalam beberapa kes, dan arahan khusus dapat diberikan kepada pelayan di dalam utiliti Crontab tentang bagaimana melaksanakan tugas , bagaimana mengetahui kapan ia selesai, dan apa yang harus dilakukan apabila tugas yang sedang dilakukan sebenarnya telah selesai.

Pengguna akan dapat berehat sementara pelayan mereka melakukan semua tugas berat selama berjam-jam; atau mereka hanya boleh menjadualkan kerja itu untuk diselesaikan semasa mereka bekerja keras di pejabat mereka sendiri. Kerana ia automatik, kerja Cron boleh berlaku pada hampir setiap jam sehari.

Belajar Beritahu Masa Menggunakan Format Cron Job

Kerja Cron bukanlah satu perkara yang mudah untuk menguasai; sebenarnya, ia secara meluas dianggap salah satu konfigurasi yang paling maju yang ada pada standard Linux or Unix pelayan web. Ini adalah sebahagiannya kerana bahasa yang digunakan untuk memprogram pekerjaan ini sangat kuno dan, dalam beberapa kes, sepenuhnya ke belakang. Ketika datang untuk memberitahu waktu tertentu untuk kerja Cron atau tab Cron yang dipersoalkan, hal-hal pasti mundur, terbalik, dan sedikit mengelirukan.

Format untuk memberitahu masa melalui kerja Cron adalah seperti berikut:

PERMULAAN HARI DARI-MINGGU BULAN HARI-BULAN-BULAN

Ini semua satu baris, dan juga nombor dan arahan bersebelahan dalam satu pengecutan seragam. Ia cukup untuk membuat kebanyakan pemaju dan pengendali pelayan mengerutkan kening dan, pada hakikatnya, banyak daripada mereka melakukannya sehinggalah mereka mendapat tugas untuk membangunkan pekerjaan Cron yang cekap.

Adalah penting untuk diperhatikan bahawa setiap aspek masa kerja Cron adalah berangka; tiada nama bulan nama hari, atau kata-kata lain yang digunakan sepanjang perkembangan masa di mana tugas harus dilakukan.

Oleh itu, mari tentukan kerja Cron untuk 10: 30 pada bulan Julai 7th untuk merasakan bagaimana masa kerja Cron kelihatan apabila ia menjadi nombor yang ketat.

30 10 07 07 *

Contoh di atas menyatakan bahawa kerja itu perlu diselesaikan pada minit 30th pada kesepuluh jam pada hari ketujuh bulan ketujuh. Semua nombor adalah dua digit panjang, walaupun pada bulan atau hari hanya satu digit. Ini penting untuk diingati, kerana satu digit akan menyebabkan kerja Cron menjadi tidak sah dan ia tidak akan dapat dilakukan. Pada akhir struktur pengawal, tanda bintang menandakan bahawa tugas itu perlu dilakukan pada mana-mana hari dalam seminggu. Ini penting, seperti menetapkan ke 03 untuk hari Rabu bermakna bahawa tugas itu hanya akan dilakukan pada bulan Julai 7 jika hari itu adalah hari Selasa. Itu mungkin berlaku sekali setiap tujuh atau lapan tahun, yang menyerap sedikit untuk kebanyakan pemaju untuk dipertimbangkan.

Satu lagi pertimbangan penting yang perlu dibuat semasa menubuhkan tugas Cron ialah format jam ialah masa ketenteraan 24-jam daripada waktu awam 12-jam. Untuk menukar masa kerja Cron ke 10 pm, jam akan ditukar kepada 22 dan bukannya 10 semasa.

Contoh Kerja Cron

Akhirnya, jika pengguna semata-mata ingin menyelesaikan tugas setiap hari, bulanan, atau bahkan setiap tahun, mereka boleh melangkau proses menetapkan waktu tertentu sepenuhnya. Sebaliknya, proses kerja Cron menyediakan untuk hanya menggunakan pemboleh ubah yang menentukan ketika pekerjaan dilakukan pada selang waktu yang kerap ini. Ini termasuk:

  • @daily
  • @monthly
  • @semangat

Oleh kerana masa tidak dapat dikawal dan ditentukan dengan ketat menggunakan jam dan minit, pekerjaan ini akan berlaku tepat pada waktu tengah malam, menurut waktu dalaman pelayan, pada selang waktu yang diminta. Ini bermakna bahawa selang @ setiap bulan akan berlaku tepat pada tengah malam pada hari pertama setiap bulan. Selang waktu yang lama akan berlaku pada waktu tengah malam pada hari pertama setiap tahun; dan selang @ hari ini akan berlaku tepat pada waktu tengah malam setiap satu hari dalam setahun.

Ini jauh lebih mudah daripada menetapkan tarikh, masa dan hari tertentu, tetapi tugas-tugas tertentu yang dilakukan pada tengah malam pada hari pertama bulan atau tahun mungkin mempunyai beberapa kekurangan bagi pelanggan tertentu. Sentiasa pastikan keperluan kedua-dua pentadbir dan pelawat tapak dalam fikiran apabila menjadualkan tugas-tugas yang berlaku tepat pada waktu tengah malam.

Memahami Pembolehubah "PERINTAH" dan Apa yang Perlu Dilakukan dengannya

Seperti yang dapat dilihat dalam contoh di atas, membina pekerjaan Cron sebenarnya agak mudah. Tarikh mesti ditentukan terlebih dahulu dan kemudian fungsi tugas Cron segera ditentukan selepas itu. Fungsi itu dapat secara harfiah apa pun, termasuk menjalankan skrip PHP atau menjalankan skrip sandaran yang disesuaikan yang menyimpan fail dan data pelayan dalam file jarak jauh atau lokal. Untuk penjelasan, kami akan membina contoh yang sebelumnya digunakan dan mengarahkan pekerjaan Cron untuk menjalankan skrip PHP pada 7 Julai jam 10:30 pagi. Skrip PHP ini akan disebut "backup.php" dan kami akan menganggap bahawa fail PHP adalah skrip sandaran penuh yang mengumpulkan, memampatkan, dan menyimpan fail laman pada hari ketujuh bulan ketika diperintahkan untuk melakukannya oleh pelayan. Inilah rupanya:

30 10 07 07 * http://your-domain-name.com/backup-scripts/backup.php

Apabila tugas Cron ini dimasukkan ke dalam senarai tab Cron pelayan, tugas Cron akan dilaksanakan secara automatik pada pukul 10:30 pagi setiap 7 Julai setiap tahun. Ia akan menjalankan skrip sandaran PHP yang terletak di direktori "skrip sandaran", dan di situlah genius sebenar penyiapan kerja Cron berfungsi.

Alih-alih memerlukan perintah lanjutan pengguna untuk melakukan perkara-perkara seperti backup laman dan cache flushes, ia hanya memberi pengguna keupayaan untuk melaksanakan skrip sedia ada pada selang waktu tertentu atau pada tarikh tertentu pada waktu tertentu. Ini bermakna tiada pengetahuan pengaturcaraan lanjutan diperlukan melangkaui pengguna yang sudah tahu. PHP sangat mampu membuat fail tapak sandaran, seperti fail yang lebih maju dan bahasa pengaturcaraan yang pengguna yang lebih canggih dapat mengembangkan pelayan Linux mereka.

Persediaan mudah ini boleh digunakan untuk melakukan hampir apa-apa, maka, selagi skrip pra-tertulis menyediakan untuk pelaksanaan tindakan-tindakan itu tanpa input pengguna. Ini bermakna bahawa mana-mana skrip yang dilaksanakan oleh tugas Cron dalam tab Cron mestilah sepenuhnya automatik dan mampu melaksanakannya sendiri. Sebagai contoh, tidak mustahil (dan semata tidak logik) untuk memberitahu tugas Cron untuk melaksanakan indeks WordPress atau fail tema setiap hari pada masa yang sama. Hanya ada tindakan atau proses automatik yang ditakrifkan dan, sementara tugas Cron pasti akan melaksanakan fail itu, ia akan melakukan apa-apa dan akan duduk statik sehingga input pengguna disediakan dengan cara lain.

Atas sebab ini, jika pengekodan atau memuat turun skrip sandaran atau orang lain untuk bekerja dengan pekerjaan Cron, pastikan selalu memerlukan input pengguna yang sifar untuk melaksanakan fungsi mereka dengan jayanya. Penjadual tugas automatik mesti dipasangkan dengan proses automatik dalam fail yang dijalankan. Tiada pengecualian kepada peraturan ini.

Menguasai Keseluruhan Fail Tab Cron pada Pelayan Khas

Setiap tugas Cron khusus yang ditentukan untuk pelaksanaan terletak dalam fail yang lebih besar yang dikenali sebagai tab Cron. Sesetengah pelayan mempunyai banyak tab Cron untuk pelbagai jenis aplikasi dan input automatik, tetapi ini jarang berlaku dan sebahagian besarnya digunakan untuk pengendali dan pemilik pelayan yang paling maju. Mereka yang mempunyai hanya satu fail tab Cron boleh menggunakan arahan di bawah untuk mengedit, memadam, atau melihat fail secara keseluruhannya, dengan setiap tugas automatik khusus mereka disenaraikan untuk melihat dalam fail.

crontab -r

Perintah ini membuang (dengan demikian "r") atau menghapus keseluruhan fail tab Cron itu sendiri. Ini secara berkesan akan membersihkannya dari semua perintah dan skrip automatik, dan mengembalikannya ke fail kosong yang dapat dibina semula. Ini adalah pilihan yang sesuai untuk mereka yang berjaya merosakkan fail atau entah bagaimana tugas dan masa yang tidak betul. Kadang-kadang, lebih mudah untuk memulakan dari awal.

crontab -e

Dalam kes ini, "e" bermaksud "edit". Pengguna yang ingin mengedit fungsi yang dijelaskan dalam tab Cron dan bukannya menghapus fail sepenuhnya dapat menggunakan perintah ini untuk dibawa ke editor baris perintah yang akan memungkinkan mereka menambahkan tugas baru, menghapus tugas lama, atau mengubah jadual yang berlaku kali untuk setiap pekerjaan Cron yang disenaraikan dalam dokumen tab Cron.

crontab -l

Dalam kes ini, cukup mudah diingat dengan mengaitkan “L” dengan “rupa. Perintah ini membolehkan pentadbir pelayan hanya melihat isi penuh dari fail tab Cron mereka tanpa mengeluarkannya sepenuhnya dari pelayan dan tanpa kemampuan untuk mengedit kandungannya. Paparan baca-baca kandungan tab Cron ini sangat sesuai untuk mengingat tugas yang dijadualkan untuk waktu berapa, dan untuk mengesahkan integriti fail itu sendiri.

Kenapa Penting untuk Menguasai Cron Job sebuah File Automasi Tab Cron

Secara umumnya, satu-satunya perkara yang diautomatikkan mengenai pelayan ialah pemintalan cakera keras dan prestasi ciri perkakasannya. Di luar itu, pelayan harus dilatih dan diarahkan untuk melakukan tugas-tugas yang rutin dan luar biasa yang melampaui sekata dan hanya memaparkan panel kawalan perisian atau menaik taraf pemasangan PHP atau Perl yang pengguna telah meletakkan pada cakera keras.

Adalah penting untuk diingati bahawa salah satu fungsi yang paling penting yang dapat dijalankan oleh pelayan secara teratur adalah penciptaan cadangan data dan tetapan tapak. Tidak ada cara untuk mengautomasikan proses ini tanpa kerja Cron dan, kerana sifat internet dan semua pelawat yang berniat jahat yang melalui laman web setiap hari, kegagalan untuk mengautomasikan proses ini secara harian atau mingguan boleh mengakibatkan dan kehilangan data bencana.

Di atas dan di luar itu, ada sejumlah tugas yang harus diotomatisasi menggunakan proses kerja Cron. Tugas-tugas ini termasuk membersihkan mana-mana cache laman web yang mungkin memaparkan imej ketinggalan zaman atau kandungan bercetak ke pelawat laman web; ia juga termasuk memadam fail lama, membersihkan direktori lama dan imej, dan memastikan bahawa semua yang disimpan pada pemacu cakera keras pelayan adalah semasa dan tidak terbakar.

Sama seperti komputer peribadi yang sihat secara automatik menyelenggara penyelenggaraan cakera, imbasan antivirus dan malware, kemas kini perisian, dan penghapusan fail, pelayan yang sihat mesti dikonfigurasikan untuk menjaga dirinya sendiri dan kekal dalam kedudukan yang baik. Jika tidak, ia menjadi terdedah kepada kemalangan, percubaan penggodaman, dan kehilangan data yang akan membawa kepada keuntungan yang hilang, pengiklanan, penciptaan kandungan, dan juga status kedudukan enjin carian.

Mudah untuk Belajar dan Mudah untuk Digunakan

Mencipta tugas Cron dalam tab Cron standard adalah salah satu perkara yang mudah dilakukan oleh pentadbir pelayan.

Proses ini terletak dalam baris perintah standard dan memecah setiap segmen masa ke dalam kod dua digit.

Kerana ia tidak memerlukan pengetahuan tambahan tentang bahasa pengaturcaraan yang baru untuk mengotomatisasi tugas, perkhidmatan itu pada dasarnya membina pengetahuan operasi dan pengaturcaraan sedia ada yang dimiliki administrator. Dengan ini, tidak ada alasan untuk tidak mengautomasikan fungsi pelayan penting dan memastikan integriti data dan operasi tapak.

Mengenai Jerry Low

Pengasas WebHostingSecretRevealed.net (WHSR) - semakan hosting yang dipercayai dan digunakan oleh pengguna 100,000. Lebih daripada 15 tahun pengalaman dalam web hosting, pemasaran affiliate, dan SEO. Penyumbang kepada ProBlogger.net, Business.com, SocialMediaToday.com, dan banyak lagi.