Crontab:内联运行单个命令

Crontab:内联运行单个命令,cron,command,crontab,restart,Cron,Command,Crontab,Restart,我想从crontab运行一个命令。与其只为一个命令创建一个bash文件,不如像这样运行crontab: # Everyday at 3 am, restart the server. 0 3 * * * 'sudo shutdown -r now' 而不是: 0 3 * * * /usr/local/bin/restart.bash 可以这样做吗?是的,您可以在命令行中键入命令,但键入的命令必须与在命令行中键入的命令相同。您不能在命令行中键入单引号”,因此也不应在crontab中键入单引号

我想从crontab运行一个命令。与其只为一个命令创建一个bash文件,不如像这样运行crontab:

# Everyday at 3 am, restart the server.
0 3 * * * 'sudo shutdown -r now'
而不是:

0 3 * * * /usr/local/bin/restart.bash

可以这样做吗?

是的,您可以在命令行中键入命令,但键入的命令必须与在命令行中键入的命令相同。您不能在命令行中键入单引号
,因此也不应在crontab中键入单引号

最后,必须在根crontab中运行需要根访问权限的命令。(即使用
sudo crontab-e
而不是普通的
crontab-e
进行编辑,或者在键入
crontab-e
之前使用
su-
以root用户身份登录)

因此,在您的示例中,您应该在crontab中键入:

# Everyday at 3 am, restart the server.
0 3 * * * shutdown -r now
(sudo无效,删除了单引号)