[Linux] Hướng dẫn liệt kê toàn bộ tác vụ cronjobs các user trên Linux

Tìm hiểu cách liệt kê tất cả tác vụ cronjobs của các user trên hệ thống Linux

Làm thế nào để liệt kê được toàn bộ các thiết lập cronjobs của các user trên hệ thống Linux ? Crontabs là một chương trình dùng thêm, xoá hoặc liệt kê danh sách các thiết lập cronjobs chạy bởi dịch vụ cron. Các tác vụ crons thường được chạy định kì tuỳ theo cấu hình của từng user cụ thể trên hệ thống Linux.

Bài viết này không nói đến việc “Hiểu” cronjobs là gì, mà chỉ bàn đến nội dung con là làm sao liệt kê toàn bộ các thiết lập tác vụ chạy cron của các user trên hệ thống. Có thể coi bài này như 1 cái note ngắn nho nhỏ vậy và chúng ta sẽ có 3 cách như sau.

Cách 1 :

– Lệnh cơ bản dùng để liệt kê thiết lập cronjob của 1 user là :

# crontab -u <user> -l


Ví dụ :

# crontab -u cuongqc -l

 
Với cấu trúc lệnh trên chúng ta có thể viết 1 đoạn script ngắn nhỏ nhằm liệt kê cronjobs các user trong hệ thống như sau :

# for USERNAME in $(cut -f1 -d: /etc/passwd); do crontab -u ${USERNAME} -l ; done

Đơn giản vậy thôi với cách 1 này.

Cách 2 :

– Phương thức 2, chúng ta sẽ nhắc đến việc cronjob lưu trữ các thông tin thiết lập cron ở thư mục đươc quy định mặc định là “/var/spool/cron/”.
– Trong thư mục này, sẽ gồm các file text có tên file tương ứng tên user trên hệ thống có sử dụng hoạt động cronjobs.
– Nội dung trong file cụ thể sẽ là nội dung thiết lập cronjob, tương ứng lệnh “crontab -u user -l” dùng để đọc nội dung file ở thư mục này ra cho bạn. Nên nhiệm vụ lúc này của bạn chỉ đơn giản là đọc các file này thôi.

# ll /var/spool/cron
-rw------- 1 root root 18 Dec 31 16:04 demo1
-rw------- 1 root root 40 Nov 8 2015 cuongqc
-rw------- 1 root root 1.7K May 9 13:44 mailman
-rw------- 1 root root 6 May 5 06:02 root
# cat /var/spool/cron/root
# cat /var/spool/cron/*

Cách 3 :

– Mình có viết 1 đoạn script nhỏ vui vui dùng để liệt kê nội dung cronjobs tương ứng user nào trên hệ thống có thiết lập thành 1 file report nhanh.
– Các bạn có thể tham khảo và xem file report được xuất ra ở file /root/cron-list.txt .

# vi /root/list-cron-user.sh
#!/bin/bash
# Author : Quach Chi Cuong
# Description : List cronjob entries of all user in system

LOG="/root/cron-list.txt"

if [ -d /var/spool/cron ];then
cd /var/spool/cron
for USERNAME in $(ls -p ./ | egrep -v /$)
do
    echo "###### Cronjobs Entries For the User ${USERNAME} ######" >> ${LOG}
    echo "" >> ${LOG}
    cat ${USERNAME} >> ${LOG}
    echo "" >> ${LOG}
    echo "###########################" >> ${LOG}
    echo "" >> ${LOG}
done
 
else exit 0
fi

exit 0
# chmod +x /root/list-cron-user.sh
# sh /root/list-cron-user.sh
# cat /root/cron-list.txt

 
Ok, nội dung đến đây là dừng. Cám ơn các bạn đã theo dõi.

Previous article[SSH] Hướng dẫn thay đổi mật khẩu Passphrase của SSH Private Key trên Linux
Next article[phpMyAdmin] Fix lỗi phpMyAdmin không hoạt động với cơ chế session.save_handler trên dịch vụ khác
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !