現在ネットワーク接続中の接続先を一覧表示する
net use
接続を解除する
net use /d <リモート名><リモート名>は net use で一覧を表示した時に「リモート名」のところに表示されるパス。
ユーザー名とパスワードを指定して接続する
net use <リモート名> <パスワード> /user:<ユーザー名>パスワードが平文で見えてしまうのが気持ちが悪いが。何かよい方法あるのかな?
僕らはプールの底を歩き続ける。まるで自分の影とダンスを踊るように。
バッチファイルでWindowsのサービスを再起動する方法を使えば、タスクに登録したスケジュールで定期的にWindowsのサービスを再起動できる。
でも、Apacheなんかはたまに停止時にゴミプロセスが残っていたりして、直後の起動に失敗することがある。
そこで、起動を何度かリトライするようにしてみる。
@ECHO OFF
SET service_name=apache2
NET STOP %service_name%
SET max_count=3
SET loop_count=0
:service_start
NET START %service_name%
REM STARTできたら終わり
IF %errorLevel% == 0 GOTO service_restart_end
ECHO start失敗 (error level %errorLevel%)
SET /A loop_count=%loop_count% + 1
IF NOT %loop_count% == %max_count% GOTO service_start
:service_restart_end
MySQL5.0以降の話。(MySQL 4.1 リファレンスマニュアルには記述が無いが、MySQL 5.0 Reference Manualには記述があるので。)
InnoDBではテーブルのロック("--lock-all-tables" 省略形は-x)をせずにmysqldumpでオンラインバックアップができるらしい。
参考:MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 7.12 mysqldump — データベースバックアッププログラム(ページの一番下の方)
使用例
mysqldump -u USER_NAME -pPASSOWRD -A --single-transaction > /path/to/backup/dir/mysqldump.sql
--single-transaction
このオプションはサーバからデータをダンプする前にBEGIN SQLステートメントを発行します。InnoDBといったトランザクションテーブルに対してのみ便利です。なぜなら、アプリケーションをブロックせずに、BEGINが発行された当時のデータベースの状態をダンプするからです。
このオプションを使用しているときは、一定の状態でダンプされるのはInnoDBテーブルのみだということを留意してください。例えば、このオプションを使用中にダンプされたMyISAMやMEMORYテーブルは状態が変化する可能性があります。
Windowsのコマンドプロンプトでエラーメッセージ等が文字化けすることの原因は文字コードの設定。
コマンドプロンプトのデフォルトの文字コードはShift_JISになっている。
ApacheやSubversionなどUTF-8で出力するアプリをコマンドプロンプトから使うと、メッセージが文字化けすることがある。
下記のようにすれば文字コード設定を変えられる。
chcp 65001
(2009/06/13 追記: コメント欄に、とても簡単に置換する方法を教えてもらったので、まずそちらを参考にすることをお薦めします。)
Widnowsのコマンドプロンプトで文字列の置換をする方法。
コマンドとしては提供されていないので、for文を利用する。
例えばシステム日付(例:2007/11/21)のスラッシュをハイフンにする場合。
@echo off
rem 変換したい文字列をセット
set before=%date%
rem 置換する文字をセット
set search=/
rem 置換後の文字をセット
set replace=-
rem 変数初期化
set after=
set replace_wk=
:loop
if "%before%" == "" goto :end
for /f "tokens=1* delims=%search%" %%A in ("%before%") do (
set after=%after%%replace_wk%%%A
set before=%%B
set replace_wk=%replace%
)
goto :loop
:end
rem 変換結果の確認
echo %after%
for /f "tokens=1-3 delims=/" %%A in ("%date%") do set today=%%A-%%B-%%C
echo %today%