起動時に独自のアプリケーションを実行する
対象製品:
- すべての NAS シリーズ
NAS の高度な利用には、起動時にカスタムアプリケーションを実行する必要がある場合があります。QNAP NAS は Linux ベースですが、通常の Linux の方法で起動時にアプリケーションを起動することはできません。デフォルトの設定ファイルは毎回起動時にリセットされます。
必要なスキル
- SSH を介してリモートログインできる必要があります(例: SSH PuTTYを使用)
- nano、vi を使用してファイルを編集する方法を知っている必要があります。または SFTP を介して編集する(例: WinSCPを使用)
MTD ベースの方法
Autorun.sh は、TS-x09、TS-x19、TS-x39 の毎回の起動時に実行されるスクリプトです。このファイルを編集することで、独自のプログラムを開始したり、設定ファイルを独自のコピーで上書きすることができます。
autorun.sh の手動編集
SSH を使用して QNAP デバイスにログインします。例えば、Putty を使用します。
オプション: nano をインストールします。ipkg install nanoを使用して、vi の代わりに nano で編集します。
以下から特定のモデルを見つけて、config ramblock をマウントします:
すべての HAL ベースの Intel および AMD NAS:
注意: QTS 4.3.3 以降では、コントロールパネル -> ハードウェア -> 一般: ユーザー定義のスタートアッププロセスを実行する (autorun.sh) で autorun.sh 処理を有効にする必要があります。
QTS 5.x
sudo -imount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/configQTS 4.x
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
TS-212P3, TS-230: config ramblock /dev/mmcblk0p5 をマウントします:
mount -t ext2 /dev/mmcblk0p5 /tmp/configTS-269L: config ramblock /dev/sdc6 をマウントします:
mount -t ext2 /dev/sdc6 /tmp/configTS-439、TS-509、TS-639、TS-809、TS-809U (x86): 設定用 ramblock をマウント /dev/sdx6:
mount -t ext2 /dev/sdx6 /tmp/configTS-109、TS-109P、TS-110、TS-119、TS-209、TS-209P、TS-212、TS-219、TS-409 (Marvell ARM)、TS-412、TS-419P: 設定用 ramblock をマウント /dev/mtdblock5:
注意: TS-219P II では、ext2 の代わりに ext4 を使用する必要があるかもしれません
mount -t ext2 /dev/mtdblock5 /tmp/configTS-201: 設定用 ramblock をマウント /dev/mtdblock4:
mount -t ext2 /dev/mtdblock4 /tmp/config
/tmp/config/autorun.sh を作成 / 編集します。
このコマンドを使用して vi で autorun.sh を編集します # vi /tmp/config/autorun.sh そして編集モードに入るにはa を押します
- 必要な内容を編集してください
- 編集モードを終了: ESC を押します
- 保存して終了: x
またはデスクトップ PC を使用して、例えば SFTP で autorun.sh を編集します
このコマンドを使用して /tmp/config/autorun.sh が実行可能であることを確認します # chmod +x /tmp/config/autorun.sh
重要:このコマンドを使用してマウントされたフラッシュパーティションをアンマウントします # umount /tmp/config
editautorun.sh: autorun.sh の編集を簡単にするスクリプト
このファイルを定期的に編集する場合は、プロセスを自動化するシェルスクリプト(例: editautorun.sh)を作成することで時間を節約できます。スクリプトは環境パスに置くか、フォルダをパスに追加するか、エイリアスで呼び出すことができます。
スクリプトの内容は以下の通りです:
すべての HAL ベースの Intel および AMD NAS は...
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config
touch /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
$EDITOR /tmp/config/autorun.sh
umount /tmp/configすべての AL ベースの NAS(TS-x31+ および TS-x31X) と TS-x31 は...
ubiattach -m 6 -d 2
/bin/mount -t ubifs ubi2:config /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "/tmp/config をアンマウントしています..."
umount /tmp/config
ubidetach -m 6TS-230 は...
mount -t ext2 /dev/mmcblk0p5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "/tmp/config をアンマウントしています..."
umount /tmp/configTAS-x68、TS-x28 は...
/bin/mount -t ext4 /dev/mmcblk0p7 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "/tmp/config をアンマウントしています..."
umount /tmp/configTS-439、TS-509、TS-639、TS-809、TS-809U (x86) は...
mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "/tmp/config をアンマウントしています..."TS-109、TS-109P、TS-119、TS-209、TS-209P、TS-219、TS-412、TS-409 (Marvell ARM) は...
mount -t ext2 /dev/mtdblock5 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/configTS-201 を使用する場合...
mount -t ext2 /dev/mtdblock4 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/configフラッシュをマウントするために「init」スクリプトを使用
QNAP の GUI には autorun.sh の内容を表示する機能があります。TS-831XU-RP の V4.5.1.1540 では、GUI は次のように表示します:
/etc/init.d/init_disk.sh mount_flash_config
(/tmp/nasconfig_tmp/autorun.sh を表示)
/etc/init.d/init_disk.sh umount_flash_configこれらのコマンドを使用して、指定された場所に「autorun.sh」を作成 / 編集できます。
起動時に autorun.sh を実行可能にする
autorun.sh の作成が完了したら、システム起動時に autorun.sh を実行可能にするオプションを忘れずに有効にしてください。
さらにサポートが必要な場合は、コミュニティで他のユーザーや QNAP の専門家にご質問ください。 QNAP コミュニティへ