crontab 运行 UNIX 中的一个脚本
Crontab running a script in UNIX
有一个简单的脚本来执行 运行 顶级命令并将结果存储在 txt 中 file.It 将 运行 每天循环 3 次,每次 1 小时 gap.Once 完成电子邮件将使用文本文件内容作为电子邮件正文发送,并删除文本文件,以便第二天新的文本文件。
问题
- 为了自动化我创建的 cronjob 在晚上 8.30 开始的过程,这将启动脚本并且我的脚本将保持 运行ing 4 小时并且命令的结果将附加在文本中文件最后发送过来 mail.CRON 是 >>
0 10 * * * /tmp/ssh-abc/KKK/Report.sh
/tmp/ssh-abc/KKK/Report.sh: line 34: ReportProd.txt: Permission denied
Code
用于生成txt文件
{
//Some Logic
} >> ReportProd.txt //Running script manually works great and generate txt!!
邮寄后删除文件。
find /tmp/ssh-abc/KKK/*.txt -type f -delete //This works fine manually,file is getting generated and deleted also.
/tmp/ssh-abc/KKK/Report.sh: line 39: ReportProd.txt: No such file or directory
你能帮我看看这可能是什么问题吗?我已经看过一些东西但没有击中正确的点。
给予文件夹 0755 的所有权限,期望 cron 可以毫无问题地执行。
Tried giving cd and path and then the command in crontab but seems not working
- 是否可以像只有 crontab 那样授予权限
访问代码和所有者,没有其他人。
注意 :未添加 #!/bin/bash 和 "whereis sh" 给我 sh: /bin/sh /usr/share/man/man1/sh.1.gz /usr/share/man/man1p/sh.1p.gz
尝试 0 10 * * * sudo sh /tmp/ssh-abc/KKK/Report.sh
我就是这样做的,而且通常没有问题。
应使用 crontab -e
以 root 身份安装 Cron 作业
尝试
/bin/sh /tmp/ssh-abc/KKK/Report.sh
或者
chmod 755 /tmp/ssh-abc/KKK/Report.sh
可能是脚本不可执行。
在您的脚本中,确保您 cd
到要在其中创建输出文件 ReportProd.txt
的目录。脚本将尝试在 中创建它当前目录,cron 运行时会有不同的值。
简单地 运行 带有 /tmp/ssh-abc/KKK/Report.sh
的脚本并不意味着工作目录将是 /tmp/ssh-abc/KKK
.
或者,提供您希望输出文件转到的完整路径。例如:
{
# Output generated here
} >> /full/path/to/output/ReportProd.txt
有一个简单的脚本来执行 运行 顶级命令并将结果存储在 txt 中 file.It 将 运行 每天循环 3 次,每次 1 小时 gap.Once 完成电子邮件将使用文本文件内容作为电子邮件正文发送,并删除文本文件,以便第二天新的文本文件。
问题
- 为了自动化我创建的 cronjob 在晚上 8.30 开始的过程,这将启动脚本并且我的脚本将保持 运行ing 4 小时并且命令的结果将附加在文本中文件最后发送过来 mail.CRON 是 >>
0 10 * * * /tmp/ssh-abc/KKK/Report.sh
/tmp/ssh-abc/KKK/Report.sh: line 34: ReportProd.txt: Permission denied
用于生成txt文件
{
//Some Logic
} >> ReportProd.txt //Running script manually works great and generate txt!!
邮寄后删除文件。
find /tmp/ssh-abc/KKK/*.txt -type f -delete //This works fine manually,file is getting generated and deleted also.
/tmp/ssh-abc/KKK/Report.sh: line 39: ReportProd.txt: No such file or directory
你能帮我看看这可能是什么问题吗?我已经看过一些东西但没有击中正确的点。
给予文件夹 0755 的所有权限,期望 cron 可以毫无问题地执行。
Tried giving cd and path and then the command in crontab but seems not working
- 是否可以像只有 crontab 那样授予权限 访问代码和所有者,没有其他人。
注意 :未添加 #!/bin/bash 和 "whereis sh" 给我 sh: /bin/sh /usr/share/man/man1/sh.1.gz /usr/share/man/man1p/sh.1p.gz
尝试 0 10 * * * sudo sh /tmp/ssh-abc/KKK/Report.sh
我就是这样做的,而且通常没有问题。 应使用 crontab -e
以 root 身份安装 Cron 作业尝试
/bin/sh /tmp/ssh-abc/KKK/Report.sh
或者
chmod 755 /tmp/ssh-abc/KKK/Report.sh
可能是脚本不可执行。
在您的脚本中,确保您 cd
到要在其中创建输出文件 ReportProd.txt
的目录。脚本将尝试在 中创建它当前目录,cron 运行时会有不同的值。
简单地 运行 带有 /tmp/ssh-abc/KKK/Report.sh
的脚本并不意味着工作目录将是 /tmp/ssh-abc/KKK
.
或者,提供您希望输出文件转到的完整路径。例如:
{
# Output generated here
} >> /full/path/to/output/ReportProd.txt