Bash

作為 root 我如何在其他使用者的 crontab 中創建一個條目

  • August 5, 2021

我正在嘗試在 shell 腳本中使用以下命令.. 有什麼建議可以正確地做到這一點嗎?

[root@testserver ~]# crontab -u oracle -e >> 0 0 * * * /usr/local/scrips/setup.sh
crontab: usage error: no arguments permitted after this option
Usage:
crontab [options] file
crontab [options]
crontab -n [hostname]

Options:
-u <user>  define user
-e         edit user's crontab
-l         list user's crontab
-r         delete user's crontab
-i         prompt before deleting
-n <host>  set host in cluster to run users' crontabs
-c         get host in cluster to run users' crontabs
-s         selinux context
-x <mask>  enable debugging

Default operation is replace, per 1003.2

-e開關將使 crontab 互動,這不是所希望的行為。

我建議你使用crontab -u user file語法。下面是一個例子:

root@c:~# crontab -l -u user
no crontab for user
root@c:~# echo "10 10 * * * /bin/true" >> to_install
root@c:~# crontab -u user to_install
root@c:~# crontab -l -u user
10 10 * * * /bin/true
root@c:~# crontab -l -u user > temp
root@c:~# echo "12 12 * * * /bin/false" >> temp
root@c:~# crontab -u user temp
root@c:~# crontab -l -u user
10 10 * * * /bin/true
12 12 * * * /bin/false

引用自:https://unix.stackexchange.com/questions/663415