設(shè)置test.sh為開機(jī)要啟動(dòng)的腳本
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),長汀企業(yè)網(wǎng)站建設(shè),長汀品牌網(wǎng)站建設(shè),網(wǎng)站定制,長汀網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,長汀網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
[root@oldboy scripts]# vim /server/scripts/test.sh
[root@oldboy scripts]# cat /server/scripts/ test.sh
#!/bin/bash
/bin/echo $(/bin/date +%F_%T) /tmp/ test.log
方法一:修改/etc/rc.local
[root@oldboy ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local - rc.d/rc.local
修改/etc/rc.local文件
[root@oldboy scripts]# tail -n 1 /etc/rc.local
/bin/bash /server/scripts/test.sh /dev/null 2/dev/null
重啟系統(tǒng),查看結(jié)果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
方法二:chkconfig管理
刪除掉方法一的配置
[root@oldboy ~]# vim /etc/init.d/test
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /server/scripts/test.sh /dev/null 2/dev/null
[root@oldboy ~]# chmod +x /etc/init.d/test
添加到chkconfig,開機(jī)自啟動(dòng)
[root@oldboy ~]# chkconfig --add test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:on 4:off 5:off 6:off
重啟系統(tǒng),查看結(jié)果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
2018-03-30_12:33:20
操作成功
關(guān)閉開機(jī)啟動(dòng)
[root@oldboy ~]# chkconfig test off
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
從chkconfig管理中刪除test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@oldboy ~]# chkconfig --del test
[root@oldboy ~]# chkconfig --list test
service test supports chkconfig, but is not referenced in any runlevel (run
'chkconfig --add test')
Linux運(yùn)行sql腳本的具體操作步驟如下:
1、使用shell工具登陸到安裝postgresql的服務(wù)器,切換到postgres用戶,postgresql默認(rèn)的操作用戶,命令是:su - postgres,查看當(dāng)前路徑是/var/lib/psql,創(chuàng)建一個(gè)test.sql腳本文件,命令是:vim test.sql。
2、sql腳本內(nèi)容是:create table test (id int not null primary key,name text);insert into test valus(1, 't1');
3、執(zhí)行test.sql腳本,命令是:psql -f test.sql
這里是因?yàn)閜ostgresql安裝本機(jī)上,在第一步中我們切換到了postgres用戶,因此這里默認(rèn)就是postgres用戶來操作,不用帶上用戶名和密碼。執(zhí)行結(jié)果如下,可以看到有兩個(gè)提示:
create table
insert 0 1
執(zhí)行完成后,我們登入數(shù)據(jù)庫,命令是:psql
4、進(jìn)入psql交互式命令行后,我們執(zhí)行兩個(gè)查看命令:\d
可以看到表test確實(shí)已經(jīng)創(chuàng)建成功,然后執(zhí)行命令:\d test
可以看到表中字段是id和name,和我們創(chuàng)建語句中內(nèi)容一樣,說明第一條語句執(zhí)行成功。
5、查看表中數(shù)據(jù),命令是:select * from test;
顯示出來的值是1,t1,說明第二條執(zhí)行語句也執(zhí)行成功,說明test.sql腳本執(zhí)行成功。
6、默認(rèn)是postgres用戶,本機(jī)操作是,不需要用戶和密碼,現(xiàn)在我們來試試操作遠(yuǎn)程linux服務(wù)器上的postgresql,也就是說執(zhí)行本地的腳本文件,在遠(yuǎn)程服務(wù)器上創(chuàng)建表。如下面圖中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,輸入對(duì)應(yīng)用戶的密碼。
7、登陸到這個(gè)遠(yuǎn)程服務(wù)器上,命令是:psql -U test -h 192.168.194
執(zhí)行查看命令:\d,\d test
最后查詢數(shù)據(jù)庫:select * from test;結(jié)果和上面都一致。
本周我們學(xué)習(xí)了如何使用Linux編輯腳本程序,當(dāng)我們編寫好腳本的時(shí)候,我們需要返回終端界面,使用各種編譯器運(yùn)行程序,但是有時(shí)候我們需要在系統(tǒng)開機(jī)的時(shí)候就自動(dòng)運(yùn)行這些程序,下面我們就來看一下在Linux下將腳本設(shè)定成開機(jī)自動(dòng)運(yùn)行的方法。
Linux在啟動(dòng)時(shí),會(huì)自動(dòng)執(zhí)行/etc/rc.d目錄下的初始化程序,因此我們可以把啟動(dòng)任務(wù)放到該目錄下。假設(shè)我們需要運(yùn)行的腳本文件是test1目錄下的test.py。
在系統(tǒng)中找到/etc/rc.local文件,系統(tǒng)會(huì)根據(jù)該文件來啟動(dòng)所指定的腳本或命令。
我們需要用超級(jí)用戶登錄,并在上述文件最后添加需要運(yùn)行的腳本文件。
隨后cd /home/test1返回test1目錄以對(duì)其進(jìn)行更改。?
su test1 -c "python /home/test1/test.py" --把要執(zhí)行的命令作為一個(gè)參數(shù)傳遞級(jí)su
下面我們就可以實(shí)現(xiàn)這個(gè)腳本的開機(jī)自動(dòng)運(yùn)行。