瀏覽量:41次
運(yùn)行一個(gè)簡(jiǎn)單的腳本
假設(shè)你有一個(gè)腳本叫:/usr/local/bin/myscript ,你想要每隔一小時(shí)就運(yùn)行一次。
Service 文件
第一步,創(chuàng)建一個(gè)service文件,根據(jù)你Linux的發(fā)行版本放到相應(yīng)的系統(tǒng)目錄(在Arch中,這個(gè)目錄是/etc/systemd/system/ 或 /usr/lib/systemd/system)
myscript.service
代碼如下:
[Unit]
Description=MyScript
[Service]
Type=simple
ExecStart=/usr/local/bin/myscript
注意,務(wù)必將Type變量的值設(shè)置為"simple"而不是"oneshot"。使用"oneshot"使得腳本只在第一次運(yùn)行,之后系統(tǒng)會(huì)認(rèn)為你不想再次運(yùn)行它,從而關(guān)掉我們接下去創(chuàng)建的定時(shí)器(Timer)。
Timer 文件
第二步,創(chuàng)建一個(gè)timer文件,把它放在第一步中service文件放置的目錄。
myscript.timer
代碼如下:
[Unit]
Description=Runs myscript every hour
[Timer]
# 首次運(yùn)行要在啟動(dòng)后10分鐘后
OnBootSec=10min
# 每次運(yùn)行間隔時(shí)間
OnUnitActiveSec=1h
Unit=myscript.service
[Install]
WantedBy=multi-user.target
授權(quán) / 運(yùn)行
授權(quán)并運(yùn)行的是timer文件,而不是service文件。
代碼如下:
# 以 root 身份啟動(dòng)定時(shí)器
systemctl start myscript.timer
# 在系統(tǒng)引導(dǎo)起來(lái)后就啟用該定時(shí)器
systemctl enable myscript.timer
在同一個(gè)Timer上運(yùn)行多個(gè)腳本
現(xiàn)在我們假設(shè)你在相同時(shí)間想要運(yùn)行多個(gè)腳本。這種情況,你需要在上面的文件中做適當(dāng)?shù)男薷摹?/p>
Service 文件
創(chuàng)建你的service文件來(lái)運(yùn)行你的腳本,但是在每個(gè)service 文件最后都要包含下面的內(nèi)容:
代碼如下:
[Install]
WantedBy=mytimer.target
如果在你的service 文件中有一些依賴順序,確保你使用Description字段中的值具體指定After=something.service和Before=whatever.service中的參數(shù)。
另外的一種選擇是(或許更加簡(jiǎn)單),創(chuàng)建一個(gè)包裝腳本來(lái)使用正確的順序來(lái)運(yùn)行命令,并在你的service文件中使用這個(gè)腳本。
Timer 文件
你只需要一個(gè)timer文件,創(chuàng)建mytimer.timer,像我在上面指出的。
target 文件
你可以創(chuàng)建一個(gè)以上所有的腳本依賴的target文件。
mytimer.target
代碼如下:
[Unit]
Description=Mytimer
# Lots more stuff could go here, but it's situational.
# Look at systemd.unit man page.
授權(quán) / 啟動(dòng)
你需要將所有的service文件和timer文件授權(quán)。
代碼如下:
systemctl enable script1.service
systemctl enable script2.service
...
systemctl enable mytimer.timer
systemctl start mytimer.service
Good luck.
上一篇: 如何解決Win7IE瀏覽器升級(jí)到IE11導(dǎo)致登錄iDRAC錯(cuò)誤,win7系統(tǒng)ie瀏覽器如何升級(jí)版本
下一篇: Win7電腦8G內(nèi)存只顯示7.86G可用怎么辦 ,w7系統(tǒng)8g內(nèi)存運(yùn)行可用內(nèi)存才2.5g
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請(qǐng)您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們?cè)诖_認(rèn)后,會(huì)立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776