
Linuxでファイルのバックアップを取るため
backup.shというシェルスクリプトを組み、コマンドから実行する場合問題ないことを
確認しています。ところがcronに設定し自動実行すると内容が実行されておりません。
/var/log/cronを確認したところ時間通り実行されているというログは残っています。
/var/spool/cron/にrootというファイルを作成し
00 23 * * * /BACKUP/backup.shを実行させたいのです。
なぜ、手動の場合は問題がないのにcronで設定すると問題が生じるのでしょう?
もし、お分かりの方は教えてください。
OSはRed Hat Linux release 8.0 (Psyche)です。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
再度。
。Interplayです。>/var/spool/cron/にrootというファイルを作成し
まず/etc/cron.d/配下ですよね?
っということとその下のrootのファイルにも実行権付いてますか?こちらにも実行権が必要です。
>00 23 * * * /BACKUP/backup.sh
ちなみにこれだと実行ユーザの指定がないので駄目です。
00 23 * * * root /BACKUP/backup.sh
とすればroot権限でシェルは実行されます。
出来ればエラーの標準出力への吐き出しを捨てる為に
00 23 * * * root /BACKUP/backup.sh >> /dev/null
などとしておくと良いです。
基本的にはcrontabコマンドで設定する事が標準ですが、わたしもcron情報をパッケージングして何かを配布する時にはこの方法の方がインストール漏れが無く確実に感じます。
No.3
- 回答日時:
>var/log/cronを確認したところ時間通り実行されているというログは残っています。
っと言う事なのでcrondは認識していると思われます。
>/var/spool/cron/にrootというファイルを作成し
>00 23 * * * /BACKUP/backup.shを実行させたいのです。
っと言う事なので /BACKUP/backup.sh のファイル属性を確認しましょう。
ひょっとして手動実行って
$ sh /BACKUP/backup.sh
とかってやってます?
ファイル属性「-rwxr-xr-x」って具合に実行可能ファイルの「x」は実行させたいユーザで付いてますか?
又、ファイル内では最初の行に実行させたいシェルをしてしていますか?
例)
#!/bin/sh
:
:
ありがとうございます。
属性については755を設定しており問題ないと思います。
エラーメールがroot宛てに届いているのですが
それを見ても原因がわかりません。
もう一度見直しみます。

No.2
- 回答日時:
まず原則として・・
cronの設定を/var下にあるファイルに直接書き込んで、というのは、あまりお薦めじゃありません。(システムによってディレクトリが変わるので)No1の方もおっしゃってますが、crontab -eで書きましょう。
本題・・
cronから起動された場合、カレントディレクトリは、そのユーザのホームになります。則ち、rootのcronは、rootのホームで起動されます。なので、カレントディレクトリを意識していないと、動かないことがあり得ます。
また(私も完全には理解してないのですが)、おそらくシェルの関係で、普段はシェルのrcファイルで設定してある環境変数が、cronで起動された時は設定されていなかったりもします。ためしに、当該スクリプトにでenvで、環境変数一覧をどこかに保存してみるといいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をdiff.shとして、以下のように2つのテキストフ 1 2023/02/03 20:06
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LANがつながりません
-
xcopyバッチを管理者として実行...
-
activ x について
-
フラッシュメモリの不具合
-
GV-MVP/RX3 TVキャプチャーボ...
-
SSDのTrimって毎日実行していい...
-
Thunderbird 振り分けされなく...
-
Javaのダウンロード→インストー...
-
突然、関数が正常に表示しなく...
-
アカウント数調査
-
至急教えてください
-
エクセルで定期的(30分おき)...
-
XAMPP1.7.3でApacheが起動しない
-
wi-fiコネクタ自動設定
-
MODE関数を文字でできる関数は...
-
Excel VBA のマルチページ
-
WSUSのインストールについて
-
メモリ使用量
-
期限がきたらメールを送る仕組...
-
iPhoneのオートメーションについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Thunderbird 振り分けされなく...
-
xcopyバッチを管理者として実行...
-
JP1で月末以外で毎週月曜日のジ...
-
エクセルで定期的(30分おき)...
-
VBAのタイマー
-
MODE関数を文字でできる関数は...
-
2010でShiftキーを使っても自動...
-
ADのDC移行の手順を教えてください
-
batファイルの実行が1行目のみ...
-
bat 処理の中止
-
vbsファイルによるネットワーク...
-
x64とIA64の違い
-
WindowsServer2003の、SMB1.0を...
-
Teratermで、条件分岐させたい
-
SSDのTrimって毎日実行していい...
-
Excel VBA のマルチページ
-
タスクススケジューラを停止さ...
-
CHKDSKの実行を解除したい
-
ログオン・ログオフスクリプト...
-
ログオンユーザーがいない場合...
おすすめ情報