一、 编写脚本(手动启动)
编写一个脚本文件,使脚本可以执行备份命令。
例如,将文件目录 /home/backups/balalala 备份到/home目录下,并压缩
1. 创建脚本
命令格式: touch 路径/文件名.sh
例如:
输入命令:
touch /home/backup.sh
20180128143353766.png
2. 写入命令
首先进入脚本:vi命令
vi /home/backup.sh
在脚本内写入:
#!/bin/sh
#创建一个临时文件(要保存备份的路径)
mkdir /home/beifen
#数据存在backups目录下,备份到beifen目录下,所以先将数据拷过来
cp -r /home/backups/balalala /home/beifen
#将数据所在文件夹beifen打包
tar -zcPvf /home/backup$(date +%Y%m%d).tar.gz /home/beifen
#删除临时文件内容
rm -rf /home/beifen/
#删除改文件夹下超过30天的文件
find ./ -mtime +30 -name "*.tar.gz" -exec rm -rf {} ;
20180128144453143.png
3. 执行脚本文件
直接手动执行脚本文件。
命令格式:sh 路径/文件名.sh
例如:
输入命令
sh /home/backup.sh
二、 设置定时执行本脚本(自动执行脚本备份)
例如:设置脚本每7天执行一次。
1. 安装crond
安装参考
如果没有安装crond服务就先装上服务。
检查服务状态:
service crond status
2. 修改crontab内容
输入命令:
crontab -e
进入后继续输入命令:
0 0 */7 * * /home/backup.sh
设置为每7天执行一次脚本文件
然后,保存退出:wq
sh脚本前面五个字段分别表示分钟(0-59)、小时(0-23)、日(1-31)、月(0-12)、星期几(0-6)后面的为脚本所在目录
3. 重新启动crond服务
输入命令:
service crond restart
三.压缩文件
1.将/home/wwwroot/xahot/ 这个目录下所有文件和文件夹打包为当前目录下的xahot.zip
zip –q –r xahot.zip /home/wwwroot/xahot
2.使用mv命令剪切文件。
如需要将/home/wwwroot/sinozzz123/music/目录下的xahot.zip文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:
mv /home/wwwroot/sinozzz123/music/xahot.zip /home/wwwroot/sinozzz123/abc
上面的命令操作是将绝对地址的文件及文件夹进行压缩.以下给出压缩相对路径目录
比如目前在Bliux这个目录下,执行以下操作可以达到以上同样的效果.
zip –q –r xahot.zip xahot
比如现在我的xahot目录下,我操作的zip压缩命令是
zip –q –r xahot.zip *
四.部署!!
#每周日的1.30执行
30 1 * * 0 nohup bash -x /root/backup/script/sevenBackup.sh
#每天的一点执行
* 1 * * * nohup bash -x /root/backup/script/oneBackup.sh
#一天备份命令: sevenBackup.sh
#指定文件夹下打压缩包
zip -q -r /default/defaultOne.zip /default
zip -q -r /opt/optOne.zip /opt
#移动压缩包到备份文件夹
mv -f /default/defaultOne.zip /root/backup/localSaveZip/default
mv -f /opt/optOne.zip /root/backup/localSaveZip/opt
#七天备份命令: oneBackup.sh
#指定文件夹下打压缩包
zip -q -r /default/defaultSeven.zip /default/
zip -q -r /opt/optSeven.zip /opt/
#移动压缩包到备份文件夹
mv -f /default/defaultSeven.zip /root/backup/localSaveZip/default
mv -f /opt/optSeven.zip /root/backup/localSaveZip/opt
service crond reload
网友评论