红宝石脚本cron不起作用

拉曼SM

在此处输入图片说明我在〜/ scri.rb中有一个ruby脚本

File.open('~/newfile.txt', 'a+') do |f|
  f << "hi..\n"
end

我有一个cron标签

* * * * * bash -lc 'ruby ~/scri.rb' >> /var/log/syslog

当我检查/ var / log / syslog中的日志时,我看到类似这样的条目

Sep  8 14:49:01 user1acer CRON[26063]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep  8 14:50:01 user1acer CRON[27502]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep  8 14:51:01 user1acer CRON[29006]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep  8 14:52:01 user1acer CRON[30425]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)
Sep  8 14:53:01 user1acer CRON[31846]: (user1) CMD (bash -lc 'ruby ~/scri.rb' >> /var/log/syslog)

但是,当我检查newfile.txt文件时,那里什么也看不到。

我在这里想念什么吗?

约格午间

This has nothing to do with cron, actually. ~ is a feature of the shell, Ruby doesn't know what it is. Only some methods in Ruby deal with ~, e.g. File::expand_path. So, Ruby is literally trying to open a file named newfile.txt in directory named ~ in the current working directory. Try it out yourself: create an empty directory named ~ in your home directory, and sure enough, after 1 minute, you should find a new file named newfile.txt with the content hi.. in there.

There are a couple of ways to fix this, I will leave it up to you which one to use:

File.open(File.expand_path('~/newfile.txt'), 'a') do |f| end
File.open(File.join(Dir.home, 'newfile.txt'), 'a') do |f| end

[Note: if you only want to append to the end of the file, not move around or read, a is enough, you don't need a+.]

请参阅有关文档File::expand_path((大胆的强调我的):

expand_path(file_name [, dir_string] )abs_file_name

将路径名转换为绝对路径名。除非dir_string给出了相对路径,否则将从过程的当前工作目录中引用相对路径,在这种情况下,它将用作起点。给定的路径名​​可以以“ 开头,该名称会扩展到流程所有者的主目录HOME必须正确设置环境变量)。〜user ”扩展到指定用户的主目录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

红宝石功能定义不起作用

来自分类Dev

红宝石“包括?” 方法不起作用

来自分类Dev

valid_json?检入红宝石不起作用

来自分类Dev

路线不起作用的红宝石和铁轨

来自分类Dev

红宝石-要求'pg'在OSX上不起作用

来自分类Dev

红宝石:从内部块产生不起作用

来自分类Dev

路线不起作用的红宝石和铁轨

来自分类Dev

红宝石-要求'pg'在OSX上不起作用

来自分类Dev

Cron作业脚本不起作用

来自分类Dev

Ubuntu脚本在CRON中不起作用

来自分类Dev

Cron作业脚本不起作用

来自分类Dev

mysqldump 脚本在 cron 中不起作用

来自分类Dev

content_for头标记不起作用(在轨道上红宝石)

来自分类Dev

我的导航栏不起作用(引导程序与红宝石集成在导轨上)

来自分类Dev

RVM + Zsh“ RVM不是功能,使用'rvm use ...'选择红宝石将不起作用”

来自分类Dev

为什么我的用于查找质数的红宝石编码不起作用?

来自分类Dev

红宝石时间间隔不起作用45分钟

来自分类Dev

RVM + Zsh“ RVM不是功能,使用'rvm use ...'选择红宝石将不起作用”

来自分类Dev

start_with对红宝石中的反斜杠不起作用

来自分类Dev

cron不起作用

来自分类Dev

Cron脚本在服务器端不起作用

来自分类Dev

从cron调用时脚本不起作用

来自分类Dev

Cron已执行,但脚本不起作用

来自分类Dev

Cron脚本在服务器端不起作用

来自分类Dev

cron中的shell脚本不起作用

来自分类Dev

Cron已执行,但脚本不起作用

来自分类Dev

cron 脚本从 s3 恢复备份不起作用

来自分类Dev

为什么以下在红宝石中起作用?

来自分类Dev

rtcwake cron不起作用