期待は、自動制御とテストのためのツールです。これは主に、telnet ftpsshなどのインタラクティブソフトウェアと自動的に対話します。
ls /usr/bin |grep expect
Bash
存在しない場合はインストールしてください
apt-get install expect
Bash
ls /usr/bin |grep expect
autoexpect
expect
expect_autoexpect
expect_autopasswd
expect_cryptdir
expect_decryptdir
expect_dislocate
expect_ftp-rfc
expect_kibitz
expect_lpunlock
expect_mkpasswd
expect_multixterm
expect_passmass
expect_rftp
expect_rlogin-cwd
expect_timed-read
expect_timed-run
expect_tknewsbiff
expect_tkpasswd
expect_unbuffer
expect_weather
expect_xkibitz
expect_xpstat
Bash
Wikiはexpectについて説明していますhttps://zh.wikipedia.org/wiki/Expect
apt-get install screen
画面の使い方はここではあまり紹介されていません。グーグル検索してください
#! /usr/bin/env bash
screen_name1=$"baidu"
screen -dmS $screen_name1
cmd1=$"ping www.baidu.com";
screen -x -S $screen_name1 -p 0-X stuff "$cmd1" #画面を作成する
screen -x -S $screen_name1 -p 0-X stuff $'\n' #キャリッジリターン
# ネストされた期待
# send "\01"アナログ入力制御-a
# send "d"アナログ入力dctrl-a+dは画面をハングアップすることです
/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF
screen_name2=$"google"
screen -dmS $screen_name2
cmd2=$"ping www.baidu.com";
screen -x -S $screen_name2 -p 0-X stuff "$cmd2"
screen -x -S $screen_name2 -p 0-X stuff $'\n'/usr/bin/expect <<EOF
send "\01"
send "d"
expect eof
EOF
Bash
テストスクリプト
sh start.sh
Bash
画面ウィンドウを表示
screen -ls
Bash
# テキストを出力すると、活字面が正常に起動します
There is a screen on:168.baidu(06/08/1907:14:04)(Detached)158.google(06/08/1907:14:04)(Detached)1 Socket in/run/screen/S-root.
Bash
#! /usr/bin/env bash
screen_name1=$"baidu"
screen -X -S $screen_name1 quit #終了画面
screen_name2=$"google"
screen -X -S $screen_name2 quit
Bash
crontab -e
010***/root/start.sh #毎朝10時
3023***/root/stop.sh #毎晩23.30
Bash
ブートイネーブルを設定します。ubuntu18バージョンのみ
# 最初にrcを確認します-ローカルは開始されていますか?,起動した場合は、完全に再起動する必要があります,ここのピット,砂浜が30分踏んだ
systemctl status rc-local.service
vim /lib/systemd/system/rc-local.service
# 一番下で参加する
[ Install]
WantedBy=multi-user.target
Alias=rc-local.service
vim /etc/rc.local
# 次のコードを追加します
#! /bin/bash
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By defaultthis script does nothing.
bash /root/start.sh
exit 0
Bash
# 許可を与える
chmod +x /etc/rc.local
# オープンサービス
systemctl enable rc-local
# サービスを開始し、ステータスを確認します
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
# サーバーを再起動します
reboot
# サーバーが起動しているかどうかを確認します
sudo systemctl status rc-local.service
# テキストを出力すると、活字面が正常に起動します
Active:active(running) since Fri 2019-06-0703:25:59 UTC; 19s ago
screen -ls
# テキストを出力すると、活字面が正常に起動します
There is a screen on:168.baidu(06/08/1907:14:04)(Detached)158.google(06/08/1907:14:04)(Detached)1 Socket in/run/screen/S-root.
Bash
Liao Liaojunは実際の経験を投げ、他の転送を受け入れません、このサイトは独立した許可を得ています!:-)
Recommended Posts