8 时间转指定时区的时间_Linux指定的时间运行自定义命令的两种方式
如何在Linux中在指定的時(shí)間運(yùn)行自定義命令
不知道大家有沒(méi)有這樣類(lèi)似的經(jīng)歷,使用諸如rsync將一個(gè)大文件傳輸?shù)骄钟蚓W(wǎng)的另一個(gè)系統(tǒng)。 由于文件比較大,耗費(fèi)的時(shí)間可能達(dá)到小時(shí)級(jí)別。這時(shí)我們可能就會(huì)想能不能在飯空或者休息時(shí)間來(lái)傳輸這個(gè)文件,這樣就出現(xiàn)了我們的定時(shí)任務(wù)。
方法1:timeout命令
最常見(jiàn)的方法是使用timeout命令來(lái)實(shí)現(xiàn)此目的。
timeout命令是GNU coreutils包的一部分,預(yù)先安裝在所有GNU / Linux系統(tǒng)中。
man timeout
如上圖man timeout信息所示:
格式:
timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...
這里的SUFFIX:
s:秒
m:分鐘
h:小時(shí)
d:天
案例1:
5秒后執(zhí)行tail -f /general/tomcat-8.5-base/logs/catalina.out
timeout 5s tail -f /general/tomcat-8.5-base/logs/catalina.out
這里不是動(dòng)態(tài)圖,大家可能看不出效果。
大家可以自己親自試一試。
方法2:Crontab定時(shí)任務(wù)
補(bǔ)充:
安裝命令:yum install crontabs。
這里我們僅做簡(jiǎn)單的介紹和使用,關(guān)于crontab更加詳細(xì)的內(nèi)容請(qǐng)參考:
Linux中Crontab定時(shí)任務(wù)簡(jiǎn)單講解。
linux內(nèi)置的cron進(jìn)程也可以實(shí)現(xiàn),cron搭配shell腳本,非常復(fù)雜指令也no問(wèn)題。
(1)Cron介紹:
我們經(jīng)常使用的是crontab命令是cron table的簡(jiǎn)寫(xiě),它是cron的配置文件,也可以叫它作業(yè)列表,我們可以在以下文件夾內(nèi)找到相關(guān)配置文件。
(2)配置文件:
/var/spool/cron/:
目錄下存放的是每個(gè)用戶包括root的crontab任務(wù),每個(gè)任務(wù)以創(chuàng)建者的名字命名。
/etc/crontab:
這個(gè)文件負(fù)責(zé)調(diào)度各種管理和維護(hù)任務(wù)。
/etc/cron.d/:
這個(gè)目錄用來(lái)存放任何要執(zhí)行的crontab文件或腳本。
補(bǔ)充:
我們還可以把腳本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目錄中,讓它每小時(shí)/天/星期、月執(zhí)行一次。
(3) crontab的使用
格式:
crontab [-u username]
-e:編輯工作表
-l:列出工作表里的命令
-r:刪除工作
補(bǔ)充:
省略用戶表表示操作當(dāng)前用戶的crontab。
(4)
我們用crontab -e進(jìn)入當(dāng)前用戶的工作表編輯,是常見(jiàn)的vim界面。
每行是一條命令。crontab的命令構(gòu)成為時(shí)間+動(dòng)作,其時(shí)間有分、時(shí)、日、月、周五種,操作符有:
*:取值范圍內(nèi)的所有數(shù)字
/:每過(guò)多少個(gè)數(shù)字
-:從X到Z
,:散列數(shù)字
借用網(wǎng)上一張crontab格式說(shuō)明圖:
以下的youCommand代表的是你自己定義的命令。
案例1:
每1分鐘執(zhí)行一次
* * * * * youCommand
案例2:
每小時(shí)的第3和第15分鐘執(zhí)行
3,15 * * * * youCommand
案例3:
在上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 * * * youCommand
案例4:
每隔兩天的上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 */2 * * youCommand
案例5:
每周一上午8點(diǎn)到11點(diǎn)的第3和第15分鐘執(zhí)行
3,15 8-11 * * 1 youCommand
案例6:
每晚的21:30重啟smb
30 21 * * * /etc/init.d/smb restart
案例7:
每月1、10、22日的4 : 45重啟smb
45 4 1,10,22 * * /etc/init.d/smb restart
案例8:
每周六、周日的1 : 10重啟smb
10 1 * * 6,0 /etc/init.d/smb restart
案例9:
每天18 : 00至23 : 00之間每隔30分鐘重啟smb
0,30 18-23 * * * /etc/init.d/smb restart
案例10:
每星期六的晚上11 : 00 pm重啟smb
0 23 * * 6 /etc/init.d/smb restart
案例11:
每一小時(shí)重啟smb
* */1 * * * /etc/init.d/smb restart
案例12:
晚上11點(diǎn)到早上7點(diǎn)之間,每隔一小時(shí)重啟smb
* 23-7/1 * * * /etc/init.d/smb restart
關(guān)于crontab更加詳細(xì)的內(nèi)容請(qǐng)參考:
Linux中Crontab定時(shí)任務(wù)詳解。
歡迎大家給予寶貴的意見(jiàn)或者建議。
歡迎大家補(bǔ)充或者共享一些其他的方法。
感謝支持。
總結(jié)
以上是生活随笔為你收集整理的8 时间转指定时区的时间_Linux指定的时间运行自定义命令的两种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 根目录_Linux Shell从入门到删
- 下一篇: 刷抖音对手机有什么要求_6频段全面5G手