最近需要在服務器上部署定時任務,拿到了sudo密碼,下面說下布置某用戶定時任務的方法
主要是用crontab命令來實現
1.指定用戶的crontab文件
sudo touch /var/spool/cron/testuser
crontab -u testuser /var/spool/cron/testuser
2.編輯crontab文件
首先指定編輯器,我這之前默認是用nano,表示不會用,改為了vim
sudo select-editor
然后加入定時任務
crontab -e
在文件中加入 0 23 * * * bash /home/testuser/test.sh
請注意,這里一定要有權限執行該腳本,並且該腳本里的命令都要有權限執行才可以,否則crontab任務會失效
btw,如果是crontab要執行java程序,需要自己在腳本中將java的環境變量加進去,就像下面這樣
#此處引入環境變量,java路徑請自行修改
source /etc/profile
JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64"
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH
具體的JAVA目錄則根據自己的java路徑改好就好
3.重啟cron服務
sudo service cron restart