回答:
単にログインしてそのユーザーのcrontabに追加できないと仮定して、ファイルをに入れます/etc/cron.d
。通常のcronジョブとしてフォーマットする必要がありますが、追加のフィールドが必要です。実行するコマンドの前とタイミングの後に、ユーザーを置きます。システム上ですでにサンプルを見つけることができるはずです。
例:
#<timing> <user> <command>
11 * * * * root /usr/lib/command
crontab -u <user> -e
、すべてを1つの場所に保持することであり、これはルートとして実行できます。ただし、cronジョブはユーザーごとではなく機能ごとにグループ化するのが好きなので、これは私にとって望ましい解決策です。
私はこれを数週間探していましたが、これはついにうまくいきました...
user1としてスクリプトを作成します
ssh user1@ipaddress
nano hourly-event.sh
コマンドを入力してください
#!/bin/bash
echo "YAY it works" > /home/user1/yay.txt
実行可能にする
chmod 755 hourly-event.sh
user1のcrontabを編集します
sudo crontab -u user1 -e
スクリプトを指す行を下部に配置します
# m h dom mon dow command
* * * * * bash ./hourly-event.sh
exit-変更を保存します(保存すると/ tmpディレクトリが表示されます... OKです)
分が変わるのを待つ
新しく作成したyay.txtを開きます
nano /home/user1/yay.txt
ナノウィンドウの一番下に「新規ファイル...」と表示されている場合は、「YAY it works」を最初の行としてナノウィンドウを開く必要があります。
/ var / spool / cron / crontabs / user1でuser1の新しいcrontabエントリを確認することもできます。
平和
特に「rbenv」、「nvm」を使用する場合は、次のように、ユーザーに環境をロードさせたい場合があります。
0 0 * * * source ~/.bash_profile && cd /opt/app/current && bundle exec ruby ...
(このコマンドsource ~/.bash_profile
は、RubyまたはNode環境をロードします。