【发布时间】:2018-04-18 02:44:47
【问题描述】:
我有一个 ruby 脚本,我想将它作为 cron 作业运行。当我在 linux 机器上通过命令提示符运行时,它运行得非常好。但是当我使用 cron 作业运行相同的脚本时,它会失败。
字符串编码出现以下错误。不知道为什么它只在我作为 cron 作业运行时才会抱怨。我还在 crontab 中将我的 shell 设置为 /bin/bash,这与我的命令提示符相同。
我得到的错误如下。这发生在 split 命令上。
split.encode('utf-8).split(some_str)
以下是唯一的 ruby 特定错误,其余是应用程序堆栈,所以我省略了它。(根据用户请求添加)
在分析日志中的
encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError) from ruby_file.rb:172:inblock(2 级)' 来自 ruby_file.rb:170:ineach' from ruby_file.rb:170:inblock in analyze_logs' 来自 ruby_file.rb:169:inopen' from ruby_file.rb:169:inanalyze_logs' 来自 ruby_file.rb:416:inrun' from ruby_file.rb:479:in'
【问题讨论】:
标签: ruby linux bash shell cron