crontab操作
crontab -e # 编辑计划
crontab -l # 查看计划
crontab -r # 结束所有计划
crontab -e
进入到任务编辑器中
#定时在周一、三将/var/log目录下所有文件备份到当前用户目录下,并该名未logbak
* * * * 1,3 cp -r /var/log ~/logbak
#
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
jobs操作:
jobs # 显示所有进程,不显示进程号
jobs -l # 显示所有进程,显示进程号
jobs -p demo5 # 查看进程名包括demo5的进程号
kill -9 1902 # 杀死进程号未1902的进程
启动进程后想要后台挂起:
./demo5 &
#或者
nohup ./demo5 &
... &
和 nouhp ... &
的区别
- 前者在一个会话有效,即在该会话关闭之前,重新打开另一个会话,是可以看到进程挂在了后台,但在另一个会话通过
jobs -l
是不会显示该进程的 - 后者在会话关闭后仍然有效,可以认为后者是前者的进阶版
- 如果直接使用
./demo5
,又需要把进程从前台转到后台,可以通过按Ctrl + Z
停止该进程,接着命令bg
将进程转入后台运行即可
关于字符串的操作,可以参考这本书 《Advanced Bash-Scripting Guide》
—— Mendel Cooper
高级Bash脚本指南 请前往第3部分,第10章的操作变量