• Linux系统自动备份的Shell


    公司现在需要对现有的服务器进行定期备份,并将备份文件放置到正在使用的NAS中去;

    为了备份的效率,还需要对备份的文件进行筛选,排除一些后缀名的文件;

    实现方法如下:

    1. 编写备份的shell文件

    在想要放置shell文件的地方编辑backup.sh文件

    # vi backup.sh

    我们要备份整个目录中的文件,除了一些指定后缀名的文件,所以:

    #
    # Backup main project folder at PM 2:00
    # By Andrew at 2016/12/2
    #
    
    #!/bin/sh
    tar -czvf /mnt/nasBackup/backup2pm.tar.gz /project --exclude=*.ac* --exclude=*.core --exclude=*.err* --exclude=*.fsdb* --exclude=*.ic* --exclude=*.lis*

    这里后缀名还可以再多写一些,还有养成写注释的好习惯;

    完了之后一定要给到这个sh执行权限;

    2. 挂载NAS设备

    然后就要把备份到的设备挂载到Linux服务器上了,例如我的NAS的IP为192.168.1.40:

    # mount -o username=admin,password=********** //192.168.1.40/BackUp /mnt/nasBackup/

    还需要把这条加入到开机启动里面,每次重启系统都会自动挂载了:

    # vi /etc/rc.d/rc.local

    直接添加到下面。

    3. 配置crontab文件

    crontab文件中执行的是定期的命令,文件位于/etc/crontab,如下:

    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # For details see man 4 crontabs
    
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed
    
    0 14 * * * root /root/backup/backup2pm.sh > /dev/null 2>&1          这条是每天中午2点的时候执行一次backup2pm.sh
    # */1 * * * * root /root/backup/test.sh > /dev/null 2>&1            这条是指每隔1分钟执行一次

    改好检查cron服务有没有打开,每次修改后记得重启服务:

    # service crond restart
  • 相关阅读:
    Oracle 游标使用全解(转)
    Oracle临时表GLOBAL TEMPORARY TABLE
    jQuery 增加 删除 修改select option
    万恶的 “缺少标识符、字符串或数字”
    关于window的resize事件
    flex关于字符串转Boolean .
    UpdatePanel完成后调用js
    JS 弹出模态窗口解决方案
    Python:扫描目录下的所有文件
    Nginx笔记总结二十一:隐藏或者混淆nginx返回的Server信息
  • 原文地址:https://www.cnblogs.com/puloieswind/p/6144645.html
Copyright © 2020-2023  润新知