我想使用cron定期执行脚本 . 我想先尝试一个简单的脚本,但它不起作用 .
这是我的脚本(scritp.sh),其权限为700:
#!/bin/sh
clear
echo "Hello!"
mkdir Hello
当我使用命令crontab -e编辑它时,这是crontab文件:
SHELL=/bin/sh
* * * * * /home/padro/Documents/script.sh
编辑:我在/ home / padro / Documents文件夹上有该脚本 . 之后我执行命令crontab -e来修改cron文件 . 在这个文件中我把shell想要SHELL = / bin / sh以及cron schedule表达式* * * * * /home/padro/Documents/script.sh . 这个计划每分钟都会运行脚本 . 最后我保存文件,当一分钟过去时,我看不到终端上脚本的回显 .
EDIT2:我添加了mkdir hello,因为我不知道脚本的回显是否显示在终端上 . 但是永远不会创建hello目录 .
2 回答
默认情况下,由cron调用的程序生成的任何输出都将通过电子邮件发送给拥有crontab的用户(假设可以本地传递邮件消息) . 所以我建议您查看本地计算机上的收件箱 .
要将输出保存到文件中,请在crontab中使用重定向,或者安排脚本将其输出写入文件 .
由cron启动的作业不会使用终端运行,因此您不应期望通过cron运行此脚本,每分钟都能清除终端 .
应该在脚本使用的工作目录(可能是您的主目录)中创建
Hello
文件夹 . 要确保您知道脚本的工作目录所在,请在脚本中使用cd
移动到正确的位置 .我没有足够的声誉来添加评论 .
我的拙见将是 . 你是通过root提到的cron文件吗?
cos chmod 700 a file would be only be executed by owner. 如果您使用的是redhat linux,则您在首次登录时使用的用户帐户是root用户权限 .
将link引用到备忘单 .
su - root 系统会提示root密码
crontab -e
*** * * * * /home/padro/Documents/script.sh**
你甚至可以运行一个测试脚本,当我第一次学习脚本进入你的crontab时,我遇到了类似的情况 .
*** * * * * date > export/home/padro/Documents/testing.txt**
如果可以,请重新启动服务器 .
使用linux / unix中的命令 pwd 检查目录是否正确 .
我希望根据我最近的学习做出的评论对你有帮助 .
编辑1:在脚本中删除clear . 谢谢...编辑2:我相信您的Hello文件夹是在根文件夹的核心创建的,试着找...或者用户的主目录...