Menguasai Tugas Pelayan Asas Cron dan Automasi

Artikel yang ditulis oleh:
  • Artikel Pilihan
  • Dikemaskini: Sep 06, 2017

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 tujuan 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 ini beruntung, kerana setiap tugas boleh dijadualkan setiap hari, mingguan, atau bulanan - atau lebih jauh lagi, dalam beberapa kes, dan arahan khusus boleh diberikan kepada pelayan dalam utiliti Crontab tentang cara melaksanakan tugas , bagaimana untuk mengetahui apabila ia selesai, dan apa yang perlu dilakukan apabila tugas di tangan 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.

Memegang Variabel "COMMAND" dan Apa yang Harus Dilakukan dengannya

Seperti yang dapat dilihat dalam contoh di atas, membina kerja Cron sebenarnya agak mudah. Tarikh mesti ditakrifkan terlebih dahulu dan kemudian fungsi kerja Cron segera ditakrifkan selepas itu. Fungsi itu boleh menjadi apa-apa, termasuk menjalankan skrip PHP atau menjalankan skrip cadangan tersendiri yang menyimpan fail dan data pelayan sama ada dalam fail jauh atau tempatan. Untuk penjelasan, kami akan membina contoh yang sebelum ini digunakan dan mengarahkan kerja Cron untuk menjalankan skrip PHP pada bulan Julai 7th di 10: 30 pada waktu pagi. Skrip PHP ini akan dipanggil "backup.php" dan kami akan menganggap bahawa fail PHP adalah skrip sandaran penuh yang mengumpulkan, memampatkan, dan menyimpan fail tapak pada ketujuh bulan apabila diarahkan untuk melakukannya oleh pelayan. Inilah yang kelihatan seperti:

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

Apabila kerja Cron ini dimasukkan ke dalam senarai tab Cron pelayan, ia akan dilaksanakan secara automatik di 10: 30 setiap setiap bulan 7th setiap tahun. Ia akan menjalankan skrip sandaran PHP yang terletak dalam direktori "sandaran-skrip", dan di sinilah jenius sebenar persediaan 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 memadam seluruh fail tab Cron itu sendiri. Ini secara berkesan akan membersihkannya dari semua arahan dan skrip automatik, dan mengembalikannya ke fail kosong yang boleh dibina semula. Ini adalah pilihan yang sesuai untuk mereka yang telah berjaya merosakkan fail atau entah bagaimana tugas dan masa yang salah. Kadang-kadang, lebih mudah untuk memulakan semuanya.

crontab -e

Dalam kes ini, "e" bermaksud "mengedit." Pengguna yang ingin mengedit fungsi yang diterangkan dalam tab Cron dan bukannya memadam fail sepenuhnya boleh menggunakan arahan ini untuk dibawa ke editor baris arahan yang akan membolehkan mereka untuk tambah tugas baru, tanggal lama, atau tukar jadual waktu yang sesuai untuk setiap tugas Cron yang tersenarai dalam dokumen tab Cron.

crontab -l

Dalam kes ini, ia cukup mudah diingati dengan mengaitkan "L" dengan "lihat. Perintah ini membolehkan pentadbir pelayan untuk melihat kandungan penuh dari fail tab Cron mereka tanpa mengeluarkannya dari pelayan sepenuhnya dan tanpa keupayaan untuk mengedit kandungannya. Paparan baca sahaja kandungan tab Cron adalah sempurna untuk mengingati tugas-tugas mana yang dijadualkan pada masa itu, 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.