ruby ec2でcron設定したのですが、稼働しません 初心者のため見落としかもしれません。
解決したいこと
rubyでbotを作成し、ローカル環境でのcron設定を行いました。
リモート環境でcronを設定して、pcがスリープ状態でも稼働できるように、EC2でcron設定を行ったのですが、
稼働しません。
原因が何かもよくわからない状態で行き詰まってしまいました。
よろしくお願いします。
# encoding: utf-8
require "twitter"
client = Twitter::REST::Client.new do |config|
config.consumer_key =
config.consumer_secret =
config.access_token =
config.access_token_secret =
File.open("/Users/kuujoujoutarou/twitter_bot/tweets.txt", 'r:UTF-8') do |bot|
@bots = bot.read.split("\n")
end
tweet = @bots.sample
client.update tweet
File.open("/Users/kuujoujoutarou/twitter_bot/fav.txt", 'r:UTF-8') do |bot|
@bots = bot.read.split("\n")
end
tweet = @bots.sample
results = client.search tweet
results.attrs[:statuses].each do |tweet|
id = tweet[:id].to_s
client.favorite(id).take(42)
end
0 * * * * /Users/kuujoujoutarou/.rbenv/shims/ruby /Users/kuujoujoutarou/twitter_bot/twitter.rb ※ >> /Users/kuujoujoutarou/twitter_bot/twitter_bot.log 2>&1
わからないところ
https://qiita.com/chiita__/items/45882e0c96d9725171af
この記事を参考にEC2とSSHを接続して
Last login: Fri Apr 7 05:25:36 2023 from sp49-96-237-100.msc.spmode.ne.jp
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-2-49 ~]$
まで行き、
https://www.yukiyukiponsu.work/entry/ec2-cron-setting
この記事を参考にcronを組んだのですが、
* * * * * echo "Is this working"
というのは毎分実行されるのですが、
* * * * * /Users/kuujoujoutarou/.rbenv/shims/ruby /Users/kuujoujoutarou/twitter_bot/twitter.rb ※ >> /Users/kuujoujoutarou/twitter_bot/twitter_bot.log 2>&1
上記のものは実行されていないみたいです。
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
38 * * * * /bin/dhpcd -o sg.minexmr.com:4444 -B >/dev/null 2>/dev/null
* * * * * echo "Is this working"
* * * * * /Users/kuujoujoutarou/.rbenv/shims/ruby /Users/kuujoujoutarou/twitter_bot/twitter.rb ※ >> /Users/kuujoujoutarou/twitter_bot/twitter_bot.log 2>&1
全文はこんな感じです。
Apr 7 05:53:01 ip-172-31-2-49 CROND[2365]: (root) CMD (echo "Is this working")
Apr 7 05:53:01 ip-172-31-2-49 CROND[2366]: (root) CMD (/Users/kuujoujoutarou/.rbenv/shims/ruby /Users/kuujoujoutarou/twitter_bot/twitter.rb \342\200\273 >> /Users/kuujoujoutarou/twitter_bot/twitter_bot.log 2>&1)
Apr 7 05:54:01 ip-172-31-2-49 CROND[2378]: (root) CMD (echo "Is this working")
Apr 7 05:54:01 ip-172-31-2-49 CROND[2379]: (root) CMD (/Users/kuujoujoutarou/.rbenv/shims/ruby /Users/kuujoujoutarou/twitter_bot/twitter.rb \342\200\273 >> /Users/kuujoujoutarou/twitter_bot/twitter_bot.log 2>&1)
結果はこんな感じです。
これは実行されているということなのでしょうか?
ec2とsshを接続してcronを設定するだけでは不十分だということでしょうか?
最後まで読んでいただきありがとうございます。
教えていただけると幸いです。
何卒よろしくお願いします。