Bash 如何在ubuntu中从su设置crontab?

Bash 如何在ubuntu中从su设置crontab?,bash,ubuntu,Bash,Ubuntu,我在尝试为具有新ubuntu映像的用户设置crontab时遇到了一个问题,基本上我正在尝试在包含以下内容的bash Script中自动化crontab作业 # (crontab -u user -l ; echo "00 09 * * 1-5 echo hello") | crontab - 这里重要的一点是,由于特定的原因,我需要像su一样执行此操作,我得到了以下错误: 没有用于用户的crontab 这是因为在/var/spool/cron/crontab/文件夹中没有供用户使用的文件,我假

我在尝试为具有新ubuntu映像的用户设置crontab时遇到了一个问题,基本上我正在尝试在包含以下内容的bash Script中自动化crontab作业

# (crontab -u user -l ; echo "00 09 * * 1-5 echo hello") | crontab -
这里重要的一点是,由于特定的原因,我需要像su一样执行此操作,我得到了以下错误:

没有用于用户的crontab

这是因为在/var/spool/cron/crontab/文件夹中没有供用户使用的文件,我假设在使用选项(-e)编辑crontab时会自动创建此文件,但我试图避免创建此文件,因为我需要在bash脚本中执行此操作,欢迎任何建议


谢谢

要为root用户设置crontab,请尝试这样做

echo "00 09 * * 1-5 echo hello" | crontab -u user -

您的cron选项卡应位于以下位置: 在/etc文件中。 如果希望文件以root用户身份运行,则创建一个新文件并将其放置在/etc/cron.d下 例如,我有一个备份文件,如下所示: 它被命名为备份并放置在上面的文件夹中

PATH=/sbin:/usr/sbin:/bin:/usr/bin

#min hour dayOfMOnth Month DayOfWeek

0 0 * * * root invoke-rc.d atop _cron
0以分钟为单位指定时间,然后以小时为单位指定时间,*指定所有时间。 因此: 12.3.5.1.7 root命令将在1月5日的3:12(一周中的7天)上运行。 然后指定要运行该命令的用户,然后指定该命令

[应该给出一个很好的设置方法

简而言之,创建一个文件,将其放置在文件夹中,所有者和组设置为root,r/w表示root,r表示group和所有其他用户。 谢谢
唐纳德

谢谢这就是我要找的