vi 编译/etc/crontab无法执行定时任务
时间: 2023-07-12 10:42:12 浏览: 59
如果您使用的是 vi 编辑器编辑 /etc/crontab 文件,可能会出现无法执行定时任务的问题。这可能是因为您在编辑 /etc/crontab 文件时,未按照正确的格式添加定时任务。
在 /etc/crontab 文件中,每个定时任务都应该按照以下格式进行编写:
```
分钟 小时 日 月 周 用户名 命令
```
例如,如果您希望在每天凌晨 1 点执行 /home/user/script.sh 脚本,您应该将以下行添加到 /etc/crontab 文件中:
```
0 1 * * * user /home/user/script.sh
```
这将在每天的凌晨 1 点执行 /home/user/script.sh 脚本,并使用 user 用户的权限来执行该脚本。
如果您已经按照上述格式添加了定时任务,但仍然无法执行,请检查以下几个方面:
1. 脚本路径是否正确;
2. 脚本是否拥有执行权限;
3. 是否有其他错误导致脚本无法执行。
如果您无法解决问题,请提供更多详细信息,以便我能够更好地帮助您解决问题。
相关问题
crontab /etc/crontab和crontab -e
crontab /etc/crontab和crontab -e是两个用于管理定时任务的命令。
1. crontab /etc/crontab:这个命令是直接编辑系统的全局定时任务配置文件。/etc/crontab是一个包含系统级定时任务的文件,它可以包含多个定时任务的定义。通过使用这个命令,你可以直接编辑该文件并添加、修改或删除定时任务。需要注意的是,对/etc/crontab文件的更改需要root权限。
2. crontab -e:这个命令用于编辑当前用户的定时任务。每个用户都有一个独立的cron表,其中包含属于该用户的定时任务。使用crontab -e会打开一个文本编辑器,允许你添加、修改或删除当前用户的定时任务。这种方式不需要root权限,并且更加安全,因为它只影响到当前用户。
总结:crontab /etc/crontab可以编辑全局定时任务配置文件,而crontab -e用于编辑当前用户的定时任务。
ubuntu的/etc/crontab怎么做定时日志存储
在/etc/crontab中添加一行类似如下的指令:
```
0 0 * * * root /usr/sbin/logrotate /etc/logrotate.d/mylogrotate
```
这行指令的含义是,在每天的0时0分,以root用户身份执行`/usr/sbin/logrotate`命令,并且使用`/etc/logrotate.d/mylogrotate`文件中的配置来进行日志轮转操作。
接下来,您需要创建`/etc/logrotate.d/mylogrotate`文件,并在其中定义需要轮转的日志文件及其轮转规则。例如,如果您要轮转/var/log/mylog.log文件,并且要保留最近7天的日志文件,则可以在mylogrotate文件中添加如下内容:
```
/var/log/mylog.log {
daily
rotate 7
compress
missingok
notifempty
create 644 root root
}
```
这些配置将使日志文件每天轮转一次,并保留最近7天的日志文件。轮转后的旧日志文件将进行压缩,如果日志文件不存在也不会报错,如果日志文件为空,则不进行轮转,并且新生成的日志文件权限为644,属主为root用户。
经过上述操作,您的定时日志存储功能就设置完成了。