linux定时任务分类

1、at适合执行一次就结束的高度任务,突发性任务,
2、anacron,适合于非7*24小时开机的服务器准备的,开机执行。
3、crond 每分钟,检测系统是否有定时任务。然后执行。


crond 定时任务使用格式

# .---------------- 分钟 (0 - 59)
# |  .------------- 小时 (0 - 23)
# |  |  .----------  日  (1 - 31)
# |  |  |  .------- 月 (1 - 12)
# |  |  |  |  .---- 周 (0 - 6) 
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed


定时任务日志路径:

/var/log/cron


例1.每周六、日 上午9:00 和下午14:00 执行 /server/scriptis/test.sh,要求此脚本打印当的的日期:格式为2018-04-01,可以随意最佳到一个文件里,或者干屏幕输出。

mkdir -p /server/scripts
echo `date +%F`>/server/scripts/test.sh

crontab -e
或
echo "#注释xxxx">>/var/spool/cron/root
echo "00 09,14 * * 6,7 /bin/sh /server/scripts/test.sh">>/var/spool/cron/root


例2.假设有一个命令程序,名为 ping. sh我想让系统每隔3分钟执行一次这个程序,但是这个

程序会有很多信息显示出来,所以我的rot帐号每天会收到400多封信件,应该怎么设置

这个定时任务比较好?

crontab -e

#####
00 */3 * * * /bin/sh /server/scripts/ping.sh >/dev/null 2>&1


例3每天凌晨2点,打包站点目录var/www/html备份到本地data目录下,要求按时间生成

不同的备份包,由于硬盘空间问题,本地仅保留7日内的备份数据,所有打包的数据推到

专门的备份服务器保存,请你解决这个问题

tar /zcvf /date/www_$(date +%F).tar.gz  ./heml

find /data/ type f -name "*.tar.gz" -mtime +7|xagrs rm -f

scp -P52113 -r /date root@192.168.1.66:/tmp/

#脚本
cd /var/www/&&\
ar /zcf /date/www_$(date +%F).tar.gz  ./heml
find /data/ type f -name "*.tar.gz" -mtime +7|xagrs rm -f

crontab -e

00 02 * * * /bin/sh /server/scripts/tar.sh>/dev/null 2>&!


例4添加账户 oldboy权限为可以配置并重启网络,可以添加删除修改用户,可以给硬盘分区

但是不能做其他的损害系统的操作,请你设计一下具体权限方案,并给出实施步骤。

解答:

ail -2 /etc/sudoers 

oldboy  ALL =/usr/sbin/setup, /bin/vi /etc/sysconfig/network-scripts/ifcfg-eth0,\
/etc/init.d/network, /usr/sbin/usermod, /usr/sbin/useradd, /usr/sbin/userdel, /sbin/fdisk, /sbin/parted