zoukankan      html  css  js  c++  java
  • [Linux] PHP程序员玩转Linux系列-自动备份与SVN

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS

    2.PHP程序员玩转Linux系列-lnmp环境的搭建

    3.PHP程序员玩转Linux系列-搭建FTP代码开发环境

    4.PHP程序员玩转Linux系列-备份还原MySQL

    我的代码经常在开发修改,为了代码的安全性,比如哪天误删了文件,或者哪天改错东西了,可以恢复回来,我要搞代码备份.备份代码,我先做最简单的,使用linux的定时机制加shell命令打包文件,每天按日期保存,保存最近7天的备份.

    前期准备的命令

    date命令,打印当前系统时间,加个参数+%F,打印格式化的全日期, date +%F. 命令替换符`` ,获取到里面命令的返回值.

    字符串中使用变量${变量名},例如echo "hi ${name}"

    打包命令tar -czf 包名称 *, c是create创建, z是gzip压缩,f是file使用文件形式, 例如: tar -czf 1.tar.gz * 把当前目录的所有文件打包到1.tar.gz中

    解压命令tar -xf 包名称 , x是extract提取,例如: tar -xf 1.tar.gz 

    查找命令find / -mtime +10 -exec rm {} ; mtime是 modified time修改时间,单位是天, +10是10天以前;-exec是执行命令, -exec 命令 {} ;大括号会被当前查找的结果替换,是固定的转义用的.例如: find /root -mtime +10 -exec wc -l {} ; 统计10天前文件的行数

    最终的脚本

    #!/bin/base
    #定义备份文件路径
    backupFilePath="/root/web";
    #定义备份文件名称
    currentDate=`date +%F`;
    backupFileName="web_backup_${currentDate}.tar.gz";
    #定义需要备份的目录
    sourceFileDir="/var/www/html/";
    #定义备份文件存储的目录
    destinationDir="/root/web/"
    #打包备份
    cd $sourceFileDir;
    tar -czf $backupFileName *;
    mv $backupFileName $destinationDir;
    #删掉10天以前的文件
    find $destinationDir -mtime +10 -exec rm {} ;
    

      

    开启定时

    编辑/etc/crontab文件

     */1 * * * * root sh /root/shell/backup.sh  

    分钟 小时 天 月 周几 用户 命令,*/是每的意思

    搭建SVN服务端

    现在代码可以按时自己打包保存一份,都是全部代码一块备份,现在我要搭建SVN服务器,可以按修改版本保留代码,更加智能化.

    安装 svn,使用命令,一句话 yum install subversion.

    安装完成以后需要创建一个代码仓库,使用这个命令svnadmin create svnrepos/ 会在当前目录创建一个svnrepos的目录,这个就是仓库的目录.

    配置SVN

    仓库建好了,现在去配置svn的用户,进入到svnrepos/conf/目录,这里有三个配置文件authz,passwd,svnserve.conf

    1.配置svnserve.conf

    authz-db = authz

    password-db = passwd

    按字面意思理解吧,应该是开启验证使用这两个文件

    2.配置authz

    一组用户,这组用户可以读写
    [groups]
    svn_users=shihan1,shihan2
    [/]
    @svn_users= rw

    3.配置passwd

    这个是配置密码

    [users]
    shihan1=aaabbbccc
    shihan2=aaabbb

    开启SVN服务

    使用命令svnserve -d -r svnrepos/  -d是后台服务  -r是使用目录

  • 相关阅读:
    【题解】[湖南集训]谈笑风生
    【题解】[POI2011]ROT-Tree Rotations
    【题解】[ZJOI2019]语言
    【题解】[HEOI2012]采花
    【题解】[JSOI2009]计数问题
    【题解】[USACO17JAN]Promotion Counting P
    heketi简单安装配置使用
    kubernetes api
    skywalking简单安装配置使用
    《技术的正宗与野路子》
  • 原文地址:https://www.cnblogs.com/taoshihan/p/6515962.html
Copyright © 2011-2022 走看看