服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - PHP程序员玩转Linux系列 自动备份与SVN

PHP程序员玩转Linux系列 自动备份与SVN

2022-01-07 19:37陶士涵 Linux

这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,学习自动备份与SVN教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

PHP程序员玩转Linux系列文章:

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天前文件的行数

最终的脚本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/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 {} \;

PHP程序员玩转Linux系列 自动备份与SVN  

开启定时

编辑/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 -rsvnrepos/ -d是后台服务 -r是使用目录

PHP程序员玩转Linux系列 自动备份与SVN

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/taoshihan/p/6515962.html

延伸 · 阅读

精彩推荐
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10