Hack BBS
[全部のスレッド一覧][新規投稿][記事の削除・変更]
[Home Page]
返信投稿はタイトルのリンクをクリックして下さい
スレッド【No.3032】の中の記事をすべて表示しています
【No.3032】のスレッド
05/09/20(火) 13:26:02 投稿者[Haya] [No.3032]のスレッド内
- 【No.3032】 タイトル[cron処理でのトラブル]
この記事がスレッドの最初です
- 【No.2940】でお世話になったHayaです。
また壁にぶち当たりました・・・。
Win機のバックアップサーバーとして玄箱をセットアップしているのですが、うまく行きません。
処理は下記の様な流れです。
Script1
バックアップするWin機の存在チェック(Pingが通ればバックアップするListに入れる)
Script2
while read line; do
/home/sh/bksub2.sh ${line} #バックアップするScriptにPC名を渡して実行
done < /home/sh/bklist0 #←Script1で作ったList
Script3
while read line; do
for drive in c d ; do #CドライブとDドライブをバックアップする。
mount -t smbfs -o username=***,password=***,\codepage=cp932,iocharset=euc-jp //${line}/${drive}$ /mnt/nfs1
#接続に失敗した場合、次のdriveを実行
s5=`df | grep /mnt/nfs1`
if [ ! -n "$s5" ]; then
break
fi
#バックアップ
rsync -az -e ssh --exclude-from=/home/sh/zyogai /mnt/nfs1/ /home/backup/${line}/${drive}
umount /mnt/nfs1
done
done < /home/sh/$1
基本的にバックアップしていますが、台数が多くなると途中で処理が終了してしまいます。
色々試した結果、問題はmountの際DドライブがないPCがあり、接続エラーが発生し、それが何回か発生すると、処理がストップするようです。
(Cronで実行した場合のみストップします。./Script2で実行すると問題ありません。)
mountコマンドの前に//PC名/d$に接続可能か確認出来る方法はないのでしょうか?
または、Cronで実行する際、エラーが出ても処理が続く設定方法を教えてください。
(出来ればどちらも知りたいです。。)
説明が解りにくいですが、、、よろしくお願いします。
05/09/24(土) 18:53:04 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3038】 タイトル[Re: cron処理でのトラブル]
【No.3032】に対する返信
- >mountコマンドの前に//PC名/d$に接続可能か確認出来る方法はないのでしょうか?
d$共有を作るか
smbclient //pcname/d$ -N | grep NT_STATUS_BAD_NETWORK_NAME
をwcすればいいのでは...
パス直書きできるのであれば
smbclient -L pcname -Uuser%pass をgrepしてもいいかも?
#玄箱買ってきてlinux久しぶりに触る・・・
05/09/26(月) 10:07:46 投稿者[Haya] [No.3032]のスレッド内
- 【No.3039】 タイトル[Re: cron処理でのトラブル]
【No.3038】に対する返信
- 回答ありがとうございます。
>smbclient //pcname/d$ -N | grep NT_STATUS_BAD_NETWORK_NAME
>
>smbclient -L pcname -Uuser%pass をgrepしてもいいかも?
どちらも試してみましたが、
Domain=[pcname] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
が出るみたいです。
結果、処理は途中で終わってしまいました。
05/09/26(月) 13:04:44 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3040】 タイトル[Re: cron処理でのトラブル]
【No.3039】に対する返信
- では d$共有を空で作っておくと良いのではないでしょうか
smbclient -L pcname -U(ユーザ名)%(パス)
そのままだとどう返ってきますか?
これで共有名とか抽出できるのでもうすこしフレキシブルに
かけると思います。
05/09/26(月) 15:12:07 投稿者[Haya] [No.3032]のスレッド内
- 【No.3041】 タイトル[Re: cron処理でのトラブル]
【No.3040】に対する返信
- お手数かけます。
>では d$共有を空で作っておくと良いのではないでしょうか
そこそこの台数がありますので、玄箱側で解決したいです。
>smbclient -L pcname -U(ユーザ名)%(パス)
>
>そのままだとどう返ってきますか?
こんな感じです。
Domain=[pcname] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] #←
Sharename Type Comment
--------- ---- -------
aaaaaaa Disk
My Documents Disk
IPC$ IPC Remote IPC
bbbbbbb Disk
ADMIN$ Disk Remote Admin
C$ Disk Default share
Domain=[pcname] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] #←
Server Comment
--------- -------
Workgroup Master
--------- -------
”#←”このメッセージが恐らく原因だと思います。
smbclient -L pcname -U username%pass > aaa
で、cat aaaを行うと、”#←”この行はありません。
sambaが出す(Linuxが出す??)メッセージを止めることが出来れば解決するような気がします。
よろしくお願い致します。
05/09/27(火) 22:56:57 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3042】 タイトル[Re: cron処理でのトラブル]
【No.3041】に対する返信
- シェル書き直してみました。
うちではsmbfsマウントできなかったのでその部分は確認してません
#!/bin/bash
pclist=(pc1 pc2 pc3)
user=hoehoe
pass=gemagema
for line in ${pclist[*]}
do
for drive in c d
do
if [ `smbclient -L ${line} -U${user}%${pass} | grep -i "[[:blank:]]${drive}\\\$[[:blank:]]" | wc -l ` -gt 0 ]
then
mount -t smbfs -o username=${user},password=${pass},codepage=cp932,iocharset=euc-jp //${line}/${drive}$ /mnt/nfs1
rsync -az -e ssh --exclude-from=/home/sh/zyogai /mnt/nfs1/ /home/backup/${line}/${drive}
sync;sleep 10
umount /mnt/nfs1
fi
done
done
05/09/28(水) 12:59:09 投稿者[Haya] [No.3032]のスレッド内
- 【No.3046】 タイトル[Re: cron処理でのトラブル]
【No.3042】に対する返信
- 何度もありがとうございます。
ログを取って確認したのですが、30回目の”if [ `smbclient -L ${line} -U$・・・”を処理していないみたいです。
cronの仕様なんですかね。。。
05/09/28(水) 11:42:28 投稿者[Haya] [No.3032]のスレッド内
- 【No.3043】 タイトル[Re: cron処理でのトラブル]
【No.3042】に対する返信
- 何度もありがとうございます。
ログを取って確認したのですが、30回目の”if [ `smbclient -L ${line} -U$・・・”を処理していないみたいです。
cronの仕様なんですかね。。。
05/09/28(水) 12:50:23 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3045】 タイトル[Re: cron処理でのトラブル]
【No.3043】に対する返信
- 同時起動してるんじゃないですかね?
05/09/28(水) 13:39:51 投稿者[Haya] [No.3032]のスレッド内
- 【No.3047】 タイトル[Re: cron処理でのトラブル]
【No.3045】に対する返信
- >同時起動してるんじゃないですかね?
crontabには1行しか入れていませんし、その間触ってないので、シェルの同時起動はしていないと思います。
訂正
>ログを取って確認したのですが、30回目の”if ・・・
30回目じゃなく、30回目以降でした。
05/09/29(木) 00:01:23 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3048】 タイトル[Re: cron処理でのトラブル]
【No.3047】に対する返信
- >crontabには1行しか入れていませんし、その間触ってないので、シェルの同時
こんな感じですか?
0 8,20 * * * /shell/winbackup.sh > /dev/null 2>&1
05/09/29(木) 14:57:52 投稿者[Haya] [No.3032]のスレッド内
- 【No.3051】 タイトル[Re: cron処理でのトラブル]
【No.3048】に対する返信
- >>crontabには1行しか入れていませんし、その間触ってないので、シェルの同時
>
>こんな感じですか?
>
>0 8,20 * * * /shell/winbackup.sh > /dev/null 2>&1
これです。
12 13 * * * root /home/test/test2.sh
05/09/29(木) 16:16:20 投稿者[あっくん] [No.3032]のスレッド内
- 【No.3052】 タイトル[Re: cron処理でのトラブル]
【No.3051】に対する返信
- そままだとmountとかメッセージ吐いてるので
ログに出力してみましょう
12 13 * * * root /home/test/test2.sh > /home/test/test2.log 2>&1
最終的には nullに捨てるといいと思います。
cron のログも確認してみるといいと思います
/var/log/cron です。
05/09/30(金) 10:34:53 投稿者[Haya] [No.3032]のスレッド内
- 【No.3055】 タイトル[解決しました]
【No.3052】に対する返信
- お世話になります。
>そままだとmountとかメッセージ吐いてるので
>ログに出力してみましょう
>
>12 13 * * * root /home/test/test2.sh > /home/test/test2.log 2>&1
>
>最終的には nullに捨てるといいと思います。
>
>cron のログも確認してみるといいと思います
>/var/log/cron です。
>
最後まで完走しました!
”> /dev/null 2>&1”
これの意味がやっと理解(全てではありませんが。。)できました。(@ITでみたような気がします)
ありがとうございました。