脚本"/>
Linux编写自动化备份脚本
自动化备份脚本
#!/bin/bash #确保/yby/backup目录存在 mkdir -p /yby/backup #备份/var/log目录 tar -czf /yby/backup/$(date +%Y%m%d%H%M%S)-log.tar.gz /var/ log #删除7天前的备份文件,{}代表前面找的内容 find /feng/backup -type f -mtime +7 -name "*-log.tar.gz" -ex ec rm -rf {}\;
计划任务
linux系统里有个程序:crond --->内存中一直运行---》守护进程
服务:crond计划
启动进程:crond
时间间隔:最短时间间隔1min
实现最短时间间隔:1second ---》写脚本(shell,python)
计划命令脚本中最好使用绝对路径
[root@host backup]# service crond stop Redirecting to /bin/systemctl stop crond.service [root@host backup]# ps aux|grep crond root 1956 0.0 0.0 112824 980 pts/0 S+ 20:21 0:00 grep --color=auto crond [root@host backup]# service crond start Redirecting to /bin/systemctl start crond.service
#crond的内容 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin #crond执行命令时会在path中找路径 #脚本中最好使用绝对路径 MAILTO=root # For details see man 4 crontabs # 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
#时间数值的特殊表达方法
*表示该范围内的任意时间
,表示间隔的多个不连续时间点
-表示一个连续的时间范围 示例:8-18 8-18每(年,月...)的8-18
/n指定间隔的时间频率 示例:*/3 每三(分钟,小时...)
[root@host backup]# crontab -e #建立一个计划任务 no crontab for root - using an empty one 30 2 * * * bash /yby/backup_log.sh #创建一个计划任务,每天的2点30分钟执行脚本/yby/back_up.log.sh */1 * * * * mkdir -p /lianxi/SC$RANDOM #每分钟创建一个文件夹
crontab -l 查看计划任务
如何知道crond是否帮助我们执行力计划任务?
如何验证?
-
直接看
-
看日志 /var/log/cron
不需要用户登陆,只要创建了,就会按计划执行
计划任务存放在哪里?
/var/spool/cron/
用户名同名
[root@host backup]# cd /var/spool/cron [root@host cron]# ls root
log日志,程序会记录发生的事情到文件里:/var/log/cron
tail -f 监控日志
如何取消计划任务
注释掉或者删掉
contab -u -用户 -e 指定一个用户创建计划任务
更多推荐
Linux编写自动化备份脚本
发布评论