海外旅行から帰ってきたら、まず何を食べる?

サーバ初心者です。安価なレンタル専用サーバでいろいろ練習中です。

WADAX専用サーバ エントリープラン
GUIソフト:PLESK8.3使用
Red Hat Enterprise Linux 5
PHP 5.1
MySQL 5.0

クローンでファイル名に日付(`date +%y%m%d`)を付ける以下のようなコマンドが実行できません。なぜだか分かりますか?
mv /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`date +%y%m%d`

上記のコマンドは、SSHのコマンドラインに直接打ち込めば実効できます。
[root@ns my_backup_plesk]# mv /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`date +%y%m%d`

また、日付の部分(`date +%y%m%d`)を通常の文字(例:test)に変更すれば、クローンで実行できます。
mv /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_test

どのようにすると、クローンでファイル名に日付が付けられるのでしょうか?

<その他の例>
以下のようなスクリプトファイルを作成してクローンで実行しても、ファイル名に日付を付けることはできませんでした。スクリプトファイルをクローンで実行できません。
#!/bin/sh
mv /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`date +%y%m%d`

以下のようなコマンドをクローンで実行しても、実行されませんでした。
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`date +%y%m%d`
(ただし、上記のコマンドは、SSHのコマンドラインに直接打ち込めば実効できます。)

しかし、日付の部分(`date +%y%m%d`)を削除(又は通常の文字列に変更)すれば、クローンで実行できます。
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all

よろしくお願いします。

A 回答 (4件)

実行しました。



*/5 * * * * /bin/touch /home/user/crontest_`date +%y%m%d`
で実行。
cronのログがdate +で切れている状態でファイルは作成されず。
+で切れている…ということで、%がcronによってカットされたものと推測。

*/5 * * * * /bin/touch /home/user/crontest_`date +\%y\%m\%d`
に修正。
ログには正しく最後まで記述されているが、ファイルは作成されず。
# dateコマンドが所在不明で実行できなかったのでしょう。

*/5 * * * * /bin/touch /home/user/crontest_`/bin/date +\%y\%m\%d`
に修正。
ログ出力もされ、ファイルも作成されました。

以上です。
    • good
    • 0
この回答へのお礼

Wr5さん
ご回答、ありがとうございました。

>*/5 * * * * /bin/touch /home/user/crontest_`/bin/date +\%y\%m\%d`
>に修正。
>ログ出力もされ、ファイルも作成されました。
上記を参考に以下のコマンドで、クローンを利用して実行できました。
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`/bin/date +\%y\%m\%d`

お礼日時:2010/04/12 12:17

こんばんわ。


単純にシェルファイルに実行権限(x)がついていないだけじゃ。。。。
*私もシェルをcrontabに登録する時によくやるので

ちなみに、cron実行時にログにはなんてでてますか?
(/var/log/messagesや/var/log/cronで確認されてみたら。。)

この回答への補足

seednyanさん
ご回答、ありがとうございました。

>ちなみに、cron実行時にログにはなんてでてますか?
>(/var/log/messagesや/var/log/cronで確認されてみたら。。)
/var/log/messagesには、特に何も関連するものは表示されていません。

/var/log/cronには、以下のように表示されています。
Apr 11 23:36:51 ns crontab[13541]: (root) LIST (root)
Apr 11 23:37:01 ns crond[3840]: (root) RELOAD (cron/root)
Apr 11 23:37:02 ns crond[13543]: (root) CMD (/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`/bin/date +)
クローンは、「Apr 11 23:37」に実行するように指定していました。

以下に関しては、確認中です。しかし、シェルファイルなしでクローンだけでも実行できそうなものですが...
>単純にシェルファイルに実行権限(x)がついていないだけじゃ。。。。
>*私もシェルをcrontabに登録する時によくやるので

補足日時:2010/04/11 23:44
    • good
    • 0
この回答へのお礼

seednyanさん
ご回答、ありがとうございました。

>単純にシェルファイルに実行権限(x)がついていないだけじゃ。。。。
>*私もシェルをcrontabに登録する時によくやるので
シェルファイルに実行権限(x)を付加することで、以下のシェルファイルをクローンで実行できました。
#!/bin/sh
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`date +%y%m%d`

上記のコマンドを、シェルファイルを使用せず、クローンのみで行ないたい場合、Wr5さんのご説明されていることを解決しないとだめなようです。
現在の私の力量では解決できませんでした。

どなたか、Wr5さんのご説明されていることがお分かりの方おられたら、ヒントを下さい。私の方でも、Wr5さんのご説明されていることは理解できるのですが、実際のクローンでの実行ができない状態です。

お礼日時:2010/04/12 00:10

CentOS5.4でdateコマンドは/binディレクトリにあります。


# まぁ、他のディストリビューションでもさすがに変わらんでしょう。

/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`/bin/date +%y%m%d`
とやったらどうなりますか?

http://www.google.co.jp/search?hl=ja&source=hp&q …

この回答への補足

Wr5さん
ご回答、ありがとうございました。

dateコマンドは/binディレクトリにありました。

しかし、以下のコマンドをクローンで実行してもだめでした。ただし、SSHに直接コピ&ペーストすると実行されます。
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`/bin/date +%y%m%d`

よろしくお願いします。

補足日時:2010/04/11 23:32
    • good
    • 0

dateコマンドをフルパスで書いたらどうなりますか?

この回答への補足

Wr5さん
ご回答、ありがとうございました。

>dateコマンドをフルパスで書いたらどうなりますか?
未熟なもので分からないのですが、dateコマンドをフルパスで書く方法があるのですか?グーグルでざっと調べましたが、dateコマンドにパスがついている物は見当たりません。

dateコマンドにどうやってパスを指定するか、ヒントをもらえますか?

補足日時:2010/04/11 23:08
    • good
    • 0
この回答へのお礼

以下などもクローンで実行してみましたが、やはり実行されません。
/usr/local/psa/bin/pleskbackup all /root/my_backup/my_backup_plesk/scheduled_backup_plesk_all_`/root/my_backup/my_backup_plesk/date +%y%m%d`

どなたか間違いが分かる方、おられますか?

お礼日時:2010/04/11 23:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報