丁侦球 发表于 2024-9-11 14:54:57

centos/linux系统下定时备份任务的方法设置

方法步骤:
# 需要备份文件路径:/opt/apollo/logs/access_log
# cd apollo/
# tree
.
├── logs
│└── access_log
└── test.sh
# 文件备份存放路径:/tmp/logs
# 备份文件加上时间戳date + %Y%m%d%H%M%S
1.编写shell脚本
# vi /opt/apollo/test.sh
# 编译器
# !/bin/bash
# 日志备份到该目录下,定义变量使用单引号
mypath='/tmp/logs'
# 回应/tmp/logs
echo ${mypath}
# 要备份的日志
mylog='/opt/apollo/logs/access_log'
# 回应/opt/apollo/logs/access_log
echo ${mylog}
# 时间戳,执行命令使用``,esc下面的
time=`date +%Y%m%d%H%M%S`
# 回应时间戳
echo ${time}
# 备份日志access_log到/tmp/logs路径下
cp ${mylog} ${mypath}/${time}_access.log
# 回应
echo ${mypath} ${mypath}/${time}_access.log
2.执行test.sh
# ./test.sh
-bash: ./test.sh: Permission denied
3.执行ls -la
# ls -la
total 8
drwxr-xr-x2 root root21 Jan 20 08:00 .
drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..
-rw-r--r--1 root root 489 Jan 20 08:00 test.sh
4.给文件test.sh赋与执行权限
# chmod +x ./test.sh
# ls -la
total 8
drwxr-xr-x2 root root21 Jan 20 08:00 .
drwxr-xr-x. 14 root root 4096 Jan 20 07:07 ..
-rwxr-xr-x1 root root 489 Jan 20 08:00 test.sh
5.再次执行,脚本没有报错
# ./test.sh
/tmp/logs
/opt/apollo/logs/access_log
20190120080932
/tmp/logs /tmp/logs/20190120080932_access.log
6.编辑定时任务
# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
7.查看定时任务
# 每分钟执行一次test.sh
* * * * * sh /opt/apollo/test.sh
8.重启crond
# service crond reload
Redirecting to /bin/systemctl reload cron
d.service
You have new mail in /var/spool/mail/root
9.编写文件access_log
# 需要备份文件路径:
/opt/apollo/logs/access_log
# 编辑文件
# vi /opt/apollo/logs/access_log
# 追加内容如下:
mmmmmmmmmmmmmmmmmmmmm
10.过1分钟,再去查备份存放目录
# cat 20190120083101_access.log
djddjsjsjsjjsjsjsj
mmmmmmmmmmmmmmmmmmmmm
11.到此为止,定时备份任务完成.
恭喜你,学会备份了!
12.删除定时任务
# crontab -r
You have new mail in /var/spool/mail/root
13.查看定时任务
# crontab -l
no crontab for root
页: [1]
查看完整版本: centos/linux系统下定时备份任务的方法设置