linux web目录文件全备脚本

#!/bin/bash
#文件全备脚本
#删除7天以前的文件
#调用方法
#yxy 
#www.sql8.net
#[email protected]
#2014-08-20
#请主意所有路径都为全整目录
#sh filebak.sh  要备份的目标目录 备份文件存放路径 保留文件的天数  
#sh filebak.sh  /home/wd/wd/wd /home/wd/wd/bakup 7
#sh filebak.sh  /home/dd/dd/dd /home/dd/dd/bakup 7

#path
path=$1
backupPath=$2
n=$3

#参数不全
if [ "$path" == "" ] || [ "$backupPath" == "" ] || [ "$n" == "" ]; then
echo "Insufficient arguments"
exit 1
fi

#目标目录不存,退出
if [ ! -d "$path" ]; then
 echo "Directory does not exist"
 exit 1
fi

#如果存放备份文件的目录不存,新建
if [ ! -d "$backupPath" ]; then
 mkdir "$backupPath" 
fi

#Time information
#时间
time=`date +"%Y-%m-%d-%H-%M-%S"`
day=`date +"%d"`
month=`date +"%Y-%m"`
weekday=`date +"%u"`

#路径最后一个目录
folderName=`basename $path`
fileName=$folderName$day$time.tar.gz

#如果文件存在,删除
if [ -e "$fileName" ]; then
 rm -rf $fileName
fi

cd $path
cd ..
tar -zcf  $fileName $folderName

#移动备份文件到备份目录
mv  $fileName $backupPath

#删除N天前的数据
find $backupPath -name "$folderName*.gz" -type f -mtime +$n -exec rm  {} \;

********************crontab设置**********************************************
根据需要设置相关备份规则,此处略则部分规则

#每天1点备份
0 1 * * * cd /opt/backup/database && ./1.sh

#每周一1点备份
0 1 * * 1 cd /opt/backup/database && ./1.sh

#每2小时备份
0 */2 * * * cd /opt/backup/database && ./1.sh

#每2天备份
0 0 */2 * * cd /opt/backup/database && ./1.sh

#每个月5号1点20分备份
20 1 5 * * cd /opt/backup/database && ./1.sh

更多contrab规则请看
http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0815/30328.html

mysql全备脚本升级版,支持多台主机,多个数据库 http://www.sql8.net/a/course/caozuoxitong/liunx/2014/0820/30545.html
mysql全备脚本,此脚本可以备份多个数据库:http://www.sql8.net/a/course/shujuku/Mysql/2014/0815/30340.html

linux web目录文件全备脚本

时间: 2024-10-06 00:38:56

linux web目录文件全备脚本的相关文章

linux管理目录文件命令总结

一.文件和目录管理常用命令 目录操作命令:pwd.cd.ls.mkdir.du. 文件操作命令: touch.file.cp.rm.mv.which.find.ln 文件内容操作命令: cat.more.less.head.tail.wc.grep 归档及压缩命令: gzip.bzip2.tar 因为在linux系统中目录属于一种特殊文件,所以许多对文件进行操作的命令对目录也同样适用. 二.命令具体用法 1.pwd命令 用途:查看工作目录 使用方法:直接在命令行下输入pwd .pwd命令一般单独

Python实现随机延迟WEB目录文件扫描

搬了一年的砖,手糙得不会写代码了.闲来无聊写了个WEB目录文件扫描的小py,实现延迟随机时间,单线程,有WAF时挂个字典随机延迟扫着就行. 后期准备持续完善功能,集成一些常用的测试项,代码多了改成OO. 功能单一,主要练手,欢迎指正,代码如下: 1 # -*- coding: iso-8859-1 -*- 2 __author__ = 'BT' 3 4 import urllib2 5 import sys 6 import getopt 7 import time 8 import rando

【Linux】目录文件权限的查看和修改【转】

转载自:http://zhaoyuqiang.blog.51cto.com/6328846/1214718 ------------------------------------------------------------------------------------------------------------------------------------------ =========================================================

星外虚拟主机跨web目录文件读取漏洞

星外虚拟主机跨目录读取文件漏洞,需要一定条件. 问题发生在以下文件,这些文件都没有严格的设置执行权限,当前的IIS用户能够顺利的利用它们执行命令: c:\windows\7i24IISLOG.exe c:\windows\7i24IISLOG2.exe c:\windows\7i24IISLOG3.exe c:\windows\7i24IISLOG4.exe c:\windows\7i24tool.exe c:\windows\rsb.exe 这些文件貌似是星外处理日志.设置权限的,其中的7i2

linux更改目录文件的拥有者和拥有组(使用chown实现)

在linux里是可以通过ps 和grep来查询到的.如下图中使用ps aux|grep nginx来查询nginx进程使用什么账户运行的: 可见是使用的www账户运行的.那么对应的网站根目录及其下面的文件目录的拥有者和拥有组都应该是www,只有这样网站访问才会正常. 使用ls –l来查询文件目录的拥有者和拥有组,如下图: 使用chown可以修改权限:chown -R www.www /alidata/www/phpwind/即可将目录/alidata/www/phpwind下的所有文件和目录的拥

Linux:目录&文件基本操作

- 表示上一次所在目录,- 通常表示当前用户的"home"目录.使用 pwd 命令可以获取当前所在路径(绝对路径). 新建文件:touch test创建目录:mkdir -p father/son/grandson复制文件:cp test father/son/grandson复制目录:cp -r father family删除文件:rm test删除目录:rm -f test移动文件:mv file1 Documents重命名文件:mv file1 myfile输出文件内容:cat

Linux读取目录文件

1.opendir与readdir函数 (1).opendir打开一个目录后得到一个DIR类型的的指针给readdir使用. (2).readdir函数调用一次后就会返回一个struct dirent类型的指针,这个指针指向一个结构体变量,这个结构体变量里面记录了一个目录项(所谓目录项就是目录中的一个子文件). (3).readdir调用一次只能读出一个目录项,要想读出目录中的所有目录项必须多次调用readdir函数.readdir函数内部会记住哪个目录项已经被读过了哪个还没读,所以多次调用后不

Linux处理批量文件的脚本

前言 最好的方法不一定是你最快能想到的.这里提供一种使用sed命令构造命令解决处理批量文件的技巧,供参考. 需求案例1 将当前目录下所有的0_80_91.txt.0_80_92.txt.0_80_93.txt....等几十个文件的文件名修改为0_81_91.txt.0_81_92.txt.0_81_93.txt.也就是将文件名中的80修改为81. 实现命令为:ls *.txt |sed -nr 's/(0_)(80)(.*)/mv \1\2\3 \181\3/gp' | sh #ls *.txt

Python写的备份目录文件的脚本

#!/usr/bin/python # -*- coding: utf-8 -*- #filename back.py #author superchen import os import time source ='/home/shiyanlou/Documents/' target_dir = '/home/shiyanlou/Desktop' target = target_dir+time.strftime('%Y-%m-%d-%H-%M-%S')+'.zip' zip_command