Cron job không chạy
Tôi có một công việc định kỳ mà nên chạy mỗi tuần một lần để update, upgradevà autocleanapt, nhưng nó không bao giờ dường như làm việc, ít nhất là không như xa như tôi có thể nói.
Điều này là rõ ràng vì khi chạy sudo apt-get upgrade(vài tuần sau khi công việc cron được thêm vào) cho thấy có các gói sẵn sàng được nâng cấp.
Thông tin hệ thống
Linux squire 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
công việc lương thấp
$ sudo crontab -e
0 12 * * 1 apt-get update && apt-get -y upgrade && apt-get -y autoclean
Quy trình
$ ps -aux | grep cron
root 674 0.0 0.0 4640 768 ? Ss Oct14 0:01 /bin/sh /snap/nextcloud/23743/bin/nextcloud-cron
root 757 0.0 0.0 31320 1636 ? Ss Jul27 0:17 /usr/sbin/cron -f
squire 22697 0.0 0.0 14428 1000 pts/0 R+ 15:25 0:00 grep --color=auto cron
Dịch vụ Systemd
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-07-27 22:15:57 UTC; 2 months 27 days ago
Docs: man:cron(8)
Main PID: 757 (cron)
Tasks: 1 (limit: 2312)
CGroup: /system.slice/cron.service
└─757 /usr/sbin/cron -f
Oct 24 14:09:01 squire CRON[15986]: pam_unix(cron:session): session closed for user root
Oct 24 14:17:01 squire CRON[16575]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 14:17:01 squire CRON[16576]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 24 14:17:01 squire CRON[16575]: pam_unix(cron:session): session closed for user root
Oct 24 15:03:01 squire cron[757]: (root) RELOAD (crontabs/root)
Oct 24 15:09:01 squire CRON[21350]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 15:09:01 squire CRON[21350]: pam_unix(cron:session): session closed for user root
Oct 24 15:17:01 squire CRON[22008]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 24 15:17:01 squire CRON[22009]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Oct 24 15:17:01 squire CRON[22008]: pam_unix(cron:session): session closed for user root
Nâng cấp thủ công
$ sudo apt-get update && sudo apt-get upgrade
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:3 https://deb.torproject.org/torproject.org bionic InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Get:5 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Fetched 252 kB in 1s (178 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
base-files linux-generic linux-headers-generic linux-image-generic netplan.io python3-parsedatetime ubuntu-server
The following packages will be upgraded:
cryptsetup cryptsetup-bin libcryptsetup12 libfreetype6
4 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Need to get 714 kB of archives.
After this operation, 6,144 B of additional disk space will be used.
Do you want to continue? [Y/n]
Đã cập nhật công việc cron để kiểm tra đầu ra
0 12 * * 1 ( apt-get update && apt-get -y upgrade && apt-get -y autoclean ) >/tmp/apt.cron.log 2>&2
Đăng nhập từ kiểm tra
Hit:1 http://ppa.launchpad.net/certbot/certbot/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 https://deb.torproject.org/torproject.org bionic InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:5 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:6 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages have been kept back:
base-files linux-generic linux-headers-generic linux-image-generic
netplan.io python3-parsedatetime ubuntu-server
The following packages will be upgraded:
cryptsetup cryptsetup-bin libcryptsetup12 libfreetype6
4 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Need to get 714 kB of archives.
After this operation, 6,144 B of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libcryptsetup12 amd64 2:2.0.2-1ubuntu1.2 [134 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 cryptsetup-bin amd64 2:2.0.2-1ubuntu1.2 [93.0 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 cryptsetup amd64 2:2.0.2-1ubuntu1.2 [152 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libfreetype6 amd64 2.8.1-2ubuntu2.1 [335 kB]
Fetched 714 kB in 1s (997 kB/s)
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
Trả lời
Tôi vừa thấy thông báo lỗi của bạn từ nhật ký chạy
dpkg: warning: 'ldconfig' not found in PATH or not executable
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
và
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
Một nơi nào đó gần đầu - phía trên định nghĩa công việc của bạn - phải là một hoặc hai dòng sau
SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
Bạn thực sự không cần SHELLdòng nhưng vì hầu hết những thứ khác trên hệ thống dựa trên Linux đều có xu hướng chạy với nó, bashtôi khuyên bạn nên dùng nó.
Nếu bạn không có bất cứ thứ gì của mình trong đó, /usr/localbạn có thể PATHxóa dòng tôi đã đưa cho bạn trở lại chỉ bốn thư mục đầu tiên. Nhưng theo mặc định croncủa PATHkhông bao gồm hai sbinthư mục đó là lý do tại sao nó bị lỗi với các lệnh không được tìm thấy.