最近需要在服务器上部署定时任务,拿到了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