Saya memiliki set cronjob ini:
* * * * * /usr/bin/systemctl suspend
Dan itu tidak berfungsi. Tapi saya bisa menjalankannya di shell dan berfungsi. Saya tidak mengerti apa yang mungkin tidak berhasil.
EDIT
Mengarahkan output kesalahan untuk /tmp/error
memberikan ini:
Failed to issue method call: Access denied
Failed to issue method call: Access denied
Pertanyaan saya adalah: Apakah cronjobs dijalankan sebagai pengguna khusus ( cron
misalnya), yang akan menjelaskan bahwa pengguna saya dapat menjalankan perintah, tetapi tidak dengan cron
sendirinya?
Penjelasan tambahan:
Ini adalah contoh minimal untuk menunjukkan masalah yang saya miliki dalam skrip (yang lebih masuk akal daripada perintah tunggal yang disediakan di sini)
systemctl
adalah bagian darisystemd
. Saya pikir reboot, shutdown, suspend bekerja dengan pengguna non-rootsystemd
. Bagaimanapun, ini bekerja pada sistem saya.Akhirnya, saya menggunakan Arch Linux dan
/bin
,/usr/sbin
,/sbin
semua symlink untuk/usr/bin
.
systemctl
masuk /usr/bin
dan menerima suspend
seperti itu? Apa * nix yang Anda gunakan?
systemctl suspend
tidak berfungsi pada distro Debian atau RedHat) dan begitu juga menjelaskan bahwa Anda sebenarnya tidak ingin melakukan apa yang Anda tunjukkan :). Juga, coba tambahkan 2> /tmp/error
atau sesuatu untuk menangkap kesalahan yang mungkin Anda dapatkan. Akhirnya, beri tahu kami pengguna mana yang menjalankan crontab ini.