溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Linux系統(tǒng)中簡單地實現(xiàn)定時備份

發(fā)布時間:2021-08-03 17:26:30 來源:億速云 閱讀:95 作者:chen 欄目:系統(tǒng)運維

本篇內(nèi)容介紹了“怎么在Linux系統(tǒng)中簡單地實現(xiàn)定時備份”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

運行一個簡單的腳本

假設你有一個腳本叫:/usr/local/bin/myscript ,你想要每隔一小時就運行一次。
Service 文件

第一步,創(chuàng)建一個service文件,根據(jù)你Linux的發(fā)行版本放到相應的系統(tǒng)目錄(在Arch中,這個目錄是/etc/systemd/system/ 或 /usr/lib/systemd/system)

myscript.service

   

代碼如下:

[Unit]
   Description=MyScript
   
   [Service]
   Type=simple
   ExecStart=/usr/local/bin/myscript

注意,務必將Type變量的值設置為"simple"而不是"oneshot"。使用"oneshot"使得腳本只在第一次運行,之后系統(tǒng)會認為你不想再次運行它,從而關(guān)掉我們接下去創(chuàng)建的定時器(Timer)。
Timer 文件

第二步,創(chuàng)建一個timer文件,把它放在第一步中service文件放置的目錄。

myscript.timer

   

代碼如下:

[Unit]
   Description=Runs myscript every hour
   
   [Timer]
   # 首次運行要在啟動后10分鐘后
   OnBootSec=10min
   # 每次運行間隔時間
   OnUnitActiveSec=1h
   Unit=myscript.service
   
   [Install]
   WantedBy=multi-user.target

授權(quán) / 運行

授權(quán)并運行的是timer文件,而不是service文件。

   

代碼如下:

# 以 root 身份啟動定時器
   systemctl start myscript.timer
   # 在系統(tǒng)引導起來后就啟用該定時器
   systemctl enable myscript.timer

在同一個Timer上運行多個腳本

現(xiàn)在我們假設你在相同時間想要運行多個腳本。這種情況,你需要在上面的文件中做適當?shù)男薷摹?br/>Service 文件

創(chuàng)建你的service文件來運行你的腳本,但是在每個service 文件最后都要包含下面的內(nèi)容:

   

代碼如下:

[Install]
   WantedBy=mytimer.target

如果在你的service 文件中有一些依賴順序,確保你使用Description字段中的值具體指定After=something.service和Before=whatever.service中的參數(shù)。

另外的一種選擇是(或許更加簡單),創(chuàng)建一個包裝腳本來使用正確的順序來運行命令,并在你的service文件中使用這個腳本。
Timer 文件

你只需要一個timer文件,創(chuàng)建mytimer.timer,像我在上面指出的。
target 文件

你可以創(chuàng)建一個以上所有的腳本依賴的target文件。

mytimer.target

   

代碼如下:

[Unit]
   Description=Mytimer
   # Lots more stuff could go here, but it's situational.
   # Look at systemd.unit man page.

授權(quán) / 啟動

你需要將所有的service文件和timer文件授權(quán)。

   

代碼如下:

systemctl enable script1.service
   systemctl enable script2.service
   ...
   systemctl enable mytimer.timer
   systemctl start mytimer.service

Good luck.

“怎么在Linux系統(tǒng)中簡單地實現(xiàn)定時備份”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI