如何在简单的脚本上使用cron

时间:2018-07-03 09:07:11

标签: linux cron sh

我想使用cron定期执行脚本。我想先尝试一个简单的脚本,但是它不起作用。

这是我的脚本(scritp.sh),权限为700:

#!/bin/sh
clear
echo "Hello!"
mkdir Hello

这是 crontab 文件,当我使用 crontab -e 命令对其进行编辑时:

SHELL=/bin/sh
* * * * * /home/padro/Documents/script.sh

编辑: 我在 / home / padro / Documents 文件夹中有该脚本。执行此操作后,我要执行命令 crontab -e 来修改cron文件。在此文件中,我放入了我想要的外壳 SHELL = / bin / sh ,还有cron计划表达式* * * * * /home/padro/Documents/script.sh。此计划安排在每分钟上临时运行脚本。最后,我保存了文件,一分钟后,我在终端上看不到脚本的回声。

EDIT2: 我添加了 mkdir hello ,因为我不知道脚本的回显是否在终端上显示。但是hello目录永远不会创建。

2 个答案:

答案 0 :(得分:-1)

我没有足够的声誉来添加评论。

我的拙见。 您是通过root提及的cron文件吗?

cos chmod 700文件只能由所有者执行。 如果您使用的是redhat linux,则首次登录时使用的用户帐户的用户权限不是root。

参考link的备忘单。

su-根 系统将提示root密码

crontab -e

* * * * * /home/padro/Documents/script.sh

您甚至可以运行测试脚本,当我第一次在crontab中学习脚本时,我确实遇到了与您类似的情况-

* * * * *日期> export / home / padro / Documents / testing.txt

如果可以,请重新启动服务器。

使用以下命令检查目录是否正确 在Linux / unix中 pwd

我希望我基于最近的学习所发表的评论对您有所帮助。

编辑1:在脚本中删除clear。谢谢... 编辑2:我相信您的Hello文件夹是在根文件夹的核心创建的,请尝试查找...或用户的主目录...

答案 1 :(得分:-1)

默认情况下,由cron调用的程序所生成的任何输出都将通过电子邮件发送给拥有crontab的用户(假定可以本地发送邮件)。因此,建议您在本地计算机上的收件箱中查找。

要将输出保存到文件中,请在crontab中使用重定向,或安排脚本将其输出写入文件。

由cron启动的作业不能在终端上运行,因此不要期望通过cron运行此脚本来每分钟清除一次终端。

应该在脚本使用的工作目录(可能是您的主目录)中创建Hello文件夹。为了绝对确保您知道脚本的工作目录在哪里,请在脚本中使用cd移至正确的位置。