3月, 2014 からの更新 コメントスレッドの表示切替 | キーボードショートカット

  • 西川 洋平 12:58 PM | 2014年3月5日 パーマリンク |
    タグ:   

    XPからWin7の共有フォルダが見えなくなった 

    なぜだか見えなくなったらしい。

    アクセスすると…
    「XXXXXXにアクセスできません。このネットワーク リソースを使用するアクセス許可がない可能性があります。アクセス許可があるかどうかこのサーバーの管理者に問い合わせてください。」
    などと出ている。

    いろいろ試した結果、共有側(Win7)の「LAN Manager 認証レベル」とやらを変更すると解決した。

    ※Win7 ”Pro”以上なら以下の手順で。

    1. 「コントロールパネル > 管理ツール > ローカルセキュリティポリシー」 をダブルクリッククリック
    2. 左のツリービューから「セキュリティの設定 > ローカルポリシー > セキュリティオプション」を選択
    3.  「ネットワーク セキュリティ:LAN Manager 認証レベル」をダブルクリック  (ちなみに、ここが未定義となっていた。)
    4. 「ローカル セキュリティの設定」タブ内の設定を「NTLM 応答のみ送信する」に変更し、OKボタン
    5. 再起動

    ※ちなみに、Win7 Homeなどでは、上記の設定画面とやらがないらしいので、レジストリを直接修正しないとダメっぽい

    問題の解決には Windows 7 の Security を下げる必要が有ります。

    Windows 7 では secpol.mscから→「ネットワークセキュリティ:LAN Manager 認証レベル」の設定をしなければなりません。しかしこのsecpol.msc機能は多くの方が使用しているHome Premiumでは使用できません。

    そこで初心者には危険ですが、Windows Directory に有る regedit.exe を立ち上げ、以下のキーを付加する事で解決できます。

    1. HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Control¥Lsa を開きます。
    2. LmCompatibilityLevel をダブルクリック(または右クリックて[修正]を選択)して値のデータ
    を [2] にする。
    (注意)LmCompatibilityLevel が存在しない場合は(通常は存在しません)左側のレジストリツリーの Lsa上か、Lsaを選択した状態で右側の何もないところで、右クリックし、 [新規]-[DWORD」を選択します。「新しい値 #1」というエントリーが作成されます。「新しい値 #1」という名前を「LmCompatibilityLevel」に変更します。そして、「LmCompatibilityLevel」を右クリックして[修正]を選び(またはダブルクリック)値のデータを変更します。横に出ている10進、16進はどちらでもかまいません。(2の値は10進でも16進でも変わりません)

    レジストリーを変更すると即その変更が反映されるので保存という操作は有りません。

    regedit.exe を閉じて、Windows 7 を再起動します。

    参考 → ここ

     
  • 西川 洋平 10:48 AM | 2014年2月20日 パーマリンク |
    タグ:   

    cronの内容確認 

    # ls /var/spool/cron/
    admin  manage  root
    
    # cat /var/spool/cron/*
    0 1 * * * /home/admin/program/example.sh
    0 2 * * * /home/manage/program/manage.sh
    0 0 * * * /root/program/test.sh

    詳しくはこちら

     
  • 西川 洋平 10:38 AM | 2014年2月20日 パーマリンク |
    タグ:   

    rootユーザのメール送信先 

    前置き
    ——————–
    社内のどこかのサーバから毎日、迷惑メールが来る・・・

    差出人:Cron Daemon
    件名:「Cron [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily」
    宛先:root@localhost.localdomain

    って、なぜにオレに・・・
    誰かがクーロンをミスったんだろうけど・・・
    ——————–

    そもそも、rootユーザのメール送信先ってどこにあるんだろ?と思ってググッたメモ。

    以下のファイルらしいので開いてみる。

    [root@xxxx~]# cat /etc/aliases 

    最後に書かれてる・・・

     ・
     ・
     ・
    # Person who should get root's mail
    #root:          marc
    root:emura@poweredge.co.jp 

    書きかえた後は以下のコマンドを実行しないと有効にならないらしい。

    [root@xxxx~]# newaliases 

    こんなファイルみたことないんだが、いつの間に設定されたのか・・・

     
  • 西川 洋平 2:07 PM | 2014年1月14日 パーマリンク |
    タグ: ,   

    Mysql起動できない 

    Mysqlを起動しようとしたら、以下のようなエラーで起動できなくなっていたらしい。
    「他のMysqlデーモンが同じソケットで既に起動してんだよ、コラ」

    [root@localhost ~]# /etc/init.d/mysqld restart
    mysqld を停止中: [ OK ]
    Another MySQL daemon already running with the same unix socket.
    mysqld を起動中: [失敗]
    [root@localhost ~]#

    内容は全く理解していないが、以下のコマンドで復旧した…

    service mysqld stop
    mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
    service mysqld start

     
  • 西川 洋平 10:57 AM | 2014年1月9日 パーマリンク |
    タグ:   

    C#のusing(~とIDisposable 

    C#のソースにusing( ・・・ ){ 処理 } と書いてあるところの意味がわかってなかったため、戒めにメモ。

    使い終わったリソースを必ず開放する必要がある時に、try~catch、try~catch・・・の嵐になりそうなところを、usingブロックを使ってそれなりにすっきりコーディングできるようにしたものらしい。

    以下の2つの処理は全く同じ意味になるとのこと。

    usingブロックの方は、自動的にDispose()を呼び出してくれ、しかも、例外にも対応してくれるものとのこと。

    public void Func() {
        FileStream fs = new FileStream("test.txt", FileMode.Read);
        try {
            StreamReader sr = new StreamReader(fs);
            try {
                // 処理する
            }
            finally {
                if (sr != null) {
                    sr.Dispose();
                }
            }
        }
        finally {
            if (fs != null) {
                fs.Dispose();
            }
        }
    }
    public void Func() {
        using (FileStream fs = new FileStream("test.txt", FileMode.Read)) {
            using (StreamReader sr = new StreamReader(fs)) {
                // 処理する
            }
        }
    }

    参考:ここここ

     
  • 太田 和宏 1:57 PM | 2013年12月17日 パーマリンク |
    タグ:   

    Linuxにおけるexpect機能について豆知識 

    Cloudサーバ上のDBバックアップを自動化したいという要望に対する処理で発見したこと。

    【想定】
    □potal.poweredge.co.jp側のシェル(cronでAM4:00/日 起動)
    1.バックアップ必須のスキーマに対してDBDumpをしてdumpファイルを作成
    2.上記ファイルをtarコマンドで圧縮
    3.scpコマンドでstaff.poweredge.co.jpに転送
    ※scpコマンドはインタラクティブ(対話形式)なため、expectを利用する

    □staff.poweredge.co.jp側シェル(cronで1分毎起動)
    1.転送ディレクトリを監視
    2.対象ファイルを見つけたら、tarコマンドで解凍
    3.対象ファイルを共有フォルダ(/var/www/html/webdav/all/100.backup)に移動

    上記の想定でcron設定したが、”なぜか”動作せず・・・(´・ω・`)?

    【原因】
    potal.poweredge.co.jpサーバ側のシェルがエラーになり実行時エラー
    expectの実行時にエラーになることが判明。interact は cron ではダメらしい。
    interact ですが、man を読むとこう書いてありました。

    interact [string1 body1] … [stringn [bodyn]]
    は、現プロセスの制御をユーザーに渡す。
    結果、現プロセスに送られたキーストロークと現プロセスの標準出力と
    標準エラー出力が復帰する。

    標準出力て・・・orz ダレが返事するのかね??
    なので、interactを利用しない方式に修正・・・

    ◇以下は、各シェルの中身
     □potal.poweredge.co.jp側(/root/bkup_db.sh)
    ———————————————————————–
    #!/bin/bash

    1. 変数指定

    USER=root
    PASSWORD={PASSWORD}
    BASEDIR=/tmp/DBBKUP
    WIKIDIR=/var/www/html/wiki/
    TARGET=root@staff.poweredge.co.jp
    PSWD={PASSWORD}

    #DB格納対象外ファイルのバックアップ&転送処理+ファイル圧縮
    tar zcvf $BASEDIR/wikisrc_bk.tar.gz $WIKIDIR/LocalSettings.php $WIKIDIR/images $WIKIDIR/skins $WIKIDIR/extensions

    #データベースバックアップ処理
    #mensetsu
    mysqldump -h localhost -u $USER -p$PASSWORD mensetsu_db -c > $BASEDIR/mensetsu_db_bk.sql

    #redframe
    mysqldump -h localhost -u $USER -p$PASSWORD redframe -c > $BASEDIR/redframe_bk.sql

    #redmine
    mysqldump -h localhost -u $USER -p$PASSWORD db_redmine -c > $BASEDIR/db_redmine_bk.sql

    #wikidb
    mysqldump -h localhost -u $USER -p$PASSWORD wikidb -c > $BASEDIR/wikidb_bk.sql

    #wordpress
    mysqldump -h localhost -u $USER -p$PASSWORD wordpress -c > $BASEDIR/wordpress_bk.sql

    #wr_db_2013
    mysqldump -h localhost -u $USER -p$PASSWORD wr_db_2013 -c > $BASEDIR/wr_db_2013_bk.sql

    #転送対象ファイルを圧縮して1つにする
    tar zcvf ./dbbkup.tar.gz $BASEDIR

    #バックアップファイル転送
    expect -c ”
    set tomeout 120
    spawn scp -r ./dbbkup.tar.gz $TARGET:/root
    sleep 3

    expect {
    “Are you sure you want to continue connecting (yes/no)? ” {
    send “yesr”
    expect “password:”
    send “${PSWD}r”
    } “password:” {
    send “${PSWD}r”
    }
    }

    expect {
    send “quitn”
    }

    ———————————————————————–
    今回のミソは、このシェルの最後の 「send “quitn”」を追加すること。
    NGだったシェルには、ここに 「interact」 とだけ書いてあった。
    「これだけかよ・・・」って思うかもしれないけど、知らないとハマるよ・・・
    ということで豆知識(´・_・`)

     
  • 西川 洋平 11:42 AM | 2013年12月5日 パーマリンク |
    タグ:   

    C# Collectionメモ 

    コレクション多いのでわかりやすいサイトメモ。

    ここ とか ここ

    使用頻度は
    List > Dictionary > HashSet ・・・
    な感じかな?

    Enumerableクラスを使用すれば、SQLみたいなSelect()やWhere()などを使えるようだが、まだ試したことない。

     
  • 西川 洋平 11:13 AM | 2013年11月7日 パーマリンク |
    タグ: ,   

    SVN最新版取得のシェル 改 

    var/www/html/hoge にcakeのwepアプリを追加するとして・・・

    1.hoge直下に”update_log”というディレクトリを作成。
    2.hoge直下に”update.sh”を作成(下記参照)
    3.「sh var/www/html/hoge/update.sh」でシェル実行
    以降は3.を実行すれば最新版を持ってこれる。

    update.sh
    新バージョン

    #!/bin/sh
    
    REPOS=http://192.168.150.31/repos/XXXX/trunk
    DIR=$(cd $(dirname $0); pwd)
    LOGDIR=$DIR/update_log
    
    if [ ! -d $LOGDIR ]
    then
        mkdir $LOGDIR
    fi
    
    #
    #before checkout
    #
    rm -rf $DIR/app/tmp
    
    #
    #exec checkout
    #
    svn co --force $REPOS $DIR >> $LOGDIR/update_`date +%Y%m%d_%H%M%S`.log
    
    #
    #after checkout for cakePHP
    #
    rm -fv `find $DIR/app/tmp -type f`
    chown -R apache:apache $DIR/*

    旧バージョン

    #!/bin/sh
    SVN="http://192.168.xxx.xxx/repos/hoge/trunk"
    DIR=$(cd $(dirname $0); pwd)
    
    rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1
    svn checkout $SVN $DIR >> $DIR/update_log/update_`date +%Y%m%d_%H%M%S`.log
    rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1
    chown -R apache:apache $DIR/*
     
  • 西川 洋平 5:52 PM | 2013年7月11日 パーマリンク |
    タグ:   

    特定スキーマ変更用SQL抽出 

    特定のスキーマを変更するSQLを作るSQL

    SELECT
    	O.type as [Object type],
    	O.type_desc as [Object type_desc],
    	S.name as [Schema name],
    	O.name as [Object name],
        'alter schema (変更後スキーマ名) transfer ' + S.name + '.' + O.name as [alter SQL]
    FROM
        sys.objects O
        INNER JOIN
        sys.schemas S ON
            O.schema_id = S.schema_id
        AND S.name = '(変更前スキーマ名)'
    --  WHERE O.type = 'U' -- オブジェクトタイプで絞りたい時
    
     
  • 西川 洋平 11:27 AM | 2013年5月1日 パーマリンク |
    タグ: , , , phpmotion   

    PE-TUBE(phpmotionのインストール) 

    基本は、http://www.kurobuti.com/linux_server/?page_id=543 のとおりで

    問題なし。

    ※ただし、phpmotionのrpmは登録制なので注意(Freeだけど)

     

    【上記サイトの内容で不足している点】

    ■手順(6)のドキュメントルートをApacheのデフォルト(/var/www/htmlフォルダ)から変更すると、修正箇所が激増する(というか、エラーを頼りに修正していくしかなくなる)のでやめた方がいい。ちょっとカッコ悪いかもしれないけど。。

    ■手順通りだと手順(12)のチェック画面でエラーが出力される。

    ※「_PHP enable_dl」がOffのままでエラーになる

    この表示が出たら /etc/php.ini  ファイルの enable_dl = Off をOnに変更すると直る

    最後の最後で、phpmotionデフォルトルート配下の /setup フォルダを削除

    しないと、完了しない。(余計なお世話だと思うが)

    当然、フォルダ名変更でも問題なし。

     

    ■動画のHOMEは、http://localhost(IPアドレス)/  でアクセスする

    ■管理者画面は、http://localhost(IPアドレス)/siteadmin/ でアクセスする

    ※動画のアップロードは、何か1個でもカテゴリを作っておかないと失敗する

    ※アップロードできるファイルサイズは、php.ini のpost_max_size = 8M を

    サイズアップしないとダメ

    ※アップロードする動画形式は、flvがいいんじゃないかな。。。

    ※動画はアップしてからリストに表示されるまでに数分かかる(変換していると思われる)

     

     
c
新規投稿作成
j
次の投稿 / 次のコメント
k
過去の投稿 / コメント
r
返信
e
編集
o
コメント表示 / 非表示
t
トップへ移動
l
ログインへ
h
ヘルプを表示 / 非表示
Shift + ESC
取り消し