Bagaimana menjalankan pekerjaan cron sebagai pengguna tertentu?

15

Saya punya beberapa perintah yang ingin saya jalankan setelah mesin dinyalakan. Seorang pengguna tidak harus login atau apa pun agar dapat berjalan.

Saya menemukan jawaban yang bagus ini menyarankan crontab dengan @rebootkata kunci, namun ini akan berjalan sebagai root, dan saya ingin dijalankan sebagai pengguna khusus yang dibuat untuk "layanan" ini (bukan layanan sistem aktual).

Apa saja cara untuk mencapai efek yang sama dengan pengguna tertentu?

Louis
sumber
Cobalah untuk menjalankan '$ su [nama pengguna] [perintah]'
LittleByBlue

Jawaban:

24

Anda dapat membuat crontab untuk pengguna tertentu seperti:

crontab -u <username> -e

Atau lebih sederhana, Anda bisa menjalankannya crontab -esaat login sebagai pengguna itu.

Atau, Anda bisa mengawali perintah di crontab (root) Anda dengan sudo -u <username>menjalankan perintah sebagai pengguna yang ditentukan.

kraxor
sumber
Terima kasih, saya tidak bisa membuatnya bekerja dengan mereka. Tetapi sekarang saya melihat bahwa saya dapat membuat crontab untuk siapa saja. Perintah akhirnya berjalan dengan baik sebagai root dengan sudo. Saya tidak tahu saya bisa menggunakan sudo di sana (mengharapkannya gagal menunggu kata sandi).
Louis
2
@Louis sudotidak memerlukan kata sandi saat Anda memanggilnya sebagai root. Pada dasarnya Anda tidak mendapatkan izin tetapi menyerahkannya.
kraxor
1
@kraxor - Anda bisa menjalankan crontab -e saat login sebagai pengguna itu. saya pikir ini tidak benar.
bhv