Linux定时任务

练习题

1、每隔2个小时将系统文件/etc/service 文件打包备份到/tmp 下(每次备份按时间生成不同的备份包)。

  • 命令行搞定
[root@oldboy ~]# cd /etc
[root@oldboy etc]# tar zcvf /tmp/service_$(date +%F-%H).tar.gz ./services
  • 定时任务最好用脚本
[root@oldboy etc]# mkdir -p /server/scripts
[root@oldboy etc]# cd /server/scripts/
[root@oldboy scripts]# vim tar.sh
cd /etc &&\
tar zcvf /tmp/service_$(date +%F-%H).tar.gz  ./services
[root@oldboy scripts]# ll /tmp/service*
-rw-r--r-- 1 root root 127304 8ÔÂ   5 22:34 /tmp/service_2016-08-05-$22.tar.gz
-rw-r--r-- 1 root root 127304 8ÔÂ   5 22:35 /tmp/service_2016-08-05-22.tar.gz
-rw-r--r-- 1 root root 127304 8ÔÂ   5 22:32 /tmp/service_2016-08-05.tar.gz
-rw-r--r-- 1 root root     45 8ÔÂ   5 22:32 /tmp/service_.tar.gz
[root@oldboy scripts]# rm -f /tmp/service*
[root@oldboy scripts]# ll /tmp
-rw-r--r-- 1 root root 78 7ÔÂ  26 18:22 t.hlk
[root@oldboy scripts]# sh /server/scripts/tar.sh 
./services
[root@oldboy scripts]# ll /tmp
-rw-r--r-- 1 root root 127304 8ÔÂ   5 22:51 service_2016-08-05-22.tar.gz
-rw-r--r-- 1 root root     78 7ÔÂ  26 18:22 t.hlk  
  • 取消默认输出
[root@oldboy scripts]# vim tar.sh
  cd /etc &&\
  tar zcf /tmp/service_$(date +%F-%H).tar.gz  ./services
  • 使用/bin/sh 执行脚本
[root@oldboy scripts]# sh /server/scripts/tar.sh           执行脚本
  [root@oldboy scripts]# /bin/sh /server/scripts/tar.sh        怕没有权限就默认多加/bin//sh
  [root@oldboy scripts]# ll /tmp
  -rw-r--r-- 1 root root 127304 8ÔÂ   5 22:53 service_2016-08-05-22.tar.gz
  -rw-r--r-- 1 root root     78 7ÔÂ  26 18:22 t.hlk 
  • 定时任务加定向到空
[root@oldboy scripts]# crontab -e
  #tar bak by oldboy at 20160805
  00 */2 * * * /bin/sh /server/scripts/tar.sh  >/dev/null 2>&1    取消提示输出
  crontab: installing new crontab
  [root@oldboy scripts]# ll /tmp
  -rw-r--r-- 1 root root 127304 8ÔÂ   5 22:53 service_2016-08-05-22.tar.gz
  -rw-r--r-- 1 root root     78 7ÔÂ  26 18:22 t.hlk

你可能感兴趣的:(Linux定时任务)