假設我們有一個 run.sh 檔案,可以將時間輸出到檔案中(ruyut 是筆者的使用者名稱,請切換為自己有的目錄,可以使用 pwd 指令查看當前目錄):
註:寫腳本的好習慣就是不要使用相對路徑,不然就是要預先切換到工作目錄,避免不知道到底有沒有執行。
如果想要一開機就執行這個 sh 檔案該怎麼做?可以使用 crontab!
建立 crontab 排程:
註: 使用什麼身份建立 crontab 就有什麼權限,如果使用 root 建立就是 root 權限
如果是第一次執行會要選取預設的編輯器,預設是使用 nano,筆者倒是比較習慣 vim (2 是 vim 一般版, 3 是 vim 的精簡版),輸入 1, 2, 3, 4 即可
在文件的最下面加上這一行:
意思就是啟動時執行 /home/ruyut/run.sh 這個檔案。
儲存關閉後可以使用下面的指令列出所有排程:
重新啟動(如果權限不夠就要在前面加上 sudo ):
這時候應該就會在剛剛 run.sh 指定的目錄(筆者是 /home/ruyut)下看到 date_output.txt 檔案了!
重點:
請務必要注意路徑,最保險就是設定好絕對路徑,避免找不到輸出的檔案或是排程找不到檔案所以無法執行
補充: 之前筆者一開始寫 crontab 的時候一直不太會用預設的 nano 編輯器,又一直找不到檔案,好煩好煩喔氣氣氣氣,尋找要改為使用 vim 的方法又都很麻煩,直到在虛擬機中撰寫本文時才看到關鍵字,其實要修改預設編輯器很簡單,只要一行指令,就可以重新出現本文一開始的選擇編輯器選項:
#!/bin/bash
cd /home/ruyut
date "+%Y-%m-%d %H:%M:%S" >> date_output.txt
註:寫腳本的好習慣就是不要使用相對路徑,不然就是要預先切換到工作目錄,避免不知道到底有沒有執行。
如果想要一開機就執行這個 sh 檔案該怎麼做?可以使用 crontab!
建立 crontab 排程:
crontab -e
註: 使用什麼身份建立 crontab 就有什麼權限,如果使用 root 建立就是 root 權限
如果是第一次執行會要選取預設的編輯器,預設是使用 nano,筆者倒是比較習慣 vim (2 是 vim 一般版, 3 是 vim 的精簡版),輸入 1, 2, 3, 4 即可
crontab -e
no crontab for ruyut - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
在文件的最下面加上這一行:
@reboot /home/ruyut/run.sh
意思就是啟動時執行 /home/ruyut/run.sh 這個檔案。
儲存關閉後可以使用下面的指令列出所有排程:
crontab -l
重新啟動(如果權限不夠就要在前面加上 sudo ):
reboot
這時候應該就會在剛剛 run.sh 指定的目錄(筆者是 /home/ruyut)下看到 date_output.txt 檔案了!
重點:
請務必要注意路徑,最保險就是設定好絕對路徑,避免找不到輸出的檔案或是排程找不到檔案所以無法執行
補充: 之前筆者一開始寫 crontab 的時候一直不太會用預設的 nano 編輯器,又一直找不到檔案,好煩好煩喔氣氣氣氣,尋找要改為使用 vim 的方法又都很麻煩,直到在虛擬機中撰寫本文時才看到關鍵字,其實要修改預設編輯器很簡單,只要一行指令,就可以重新出現本文一開始的選擇編輯器選項:
select-editor
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]: 2
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com