使用一些命令和 Perl 脚本的 Cron 问题

使用一些命令和 Perl 脚本的 Cron 问题

我已经在互联网上搜索了几个小时来寻找问题的解决方案,但我似乎找不到答案或解决我做错的事情。我正在尝试设置一个 cron 来定期运行 perl 脚本。我使用 Ubuntu 18.04.3 LTS 作为 Oracle VM Virtualbox 5.2.26 上的虚拟机,在 Windows 10 主机上运行。

我没有成功运行 perl 脚本,所以我尝试执行一些其他命令来测试我做错了什么。我在运行 /usr/bin/ 路径中找到的许多命令时遇到问题。我已经能够执行“echo”和“printf”,但仅此而已。下面是我的代码和我从每一行收到的错误消息(请注意“echo“$PATH””行似乎工作正常):

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/myname/Alpha/ATK_queries
SHELL=/bin/bash
[email protected]
2 * * * * /usr/bin/env
2 * * * * env
2 * * * * echo "$PATH"
2 * * * * perl atk_queries.pl
2 * * * * /usr/bin/perl /home/myname/Alpha/ATK_queries/atk_queries.pl
2 * * * * perl /home/myname/Alpha/ATK_queries/atk_queries.pl

命令顺序的输出/错误:

(1) /bin/bash: /usr/bin/env: 没有这样的文件或目录

(2) /bin/bash: $'env\r': 找不到命令

(3) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/myname/Alpha/ATK_queries

(4) 无法打开perl脚本“atk_queries.pl”:没有这样的文件或目录

(5)无法打开perl脚本“/home/derek/Alpha/ATK_queries/atk_queries.pl”:没有这样的文件或目录

(6) 无法打开perl脚本“/home/derek/Alpha/ATK_queries/atk_queries.pl”:没有这样的文件或目录

非常感谢任何指导。

答案1

显然,这个问题与修改 Notepad++ 中的 crontab 文件有关,Notepad++ 本身就是一个 Windows 程序。根据 Haxiel 的评论,在命令本身内执行 \r 回车符有些奇怪。

通过 crontab -e 修改文件,删除 crontab 内容,用完全相同的文本替换它们,并将文件另存为非 DOS 文件,导致所有命令以及 Perl 脚本成功执行。

相关内容