前几次系统数据老是出问题,前几天经理让我给写个数据库自动备份,Shell能力有限,周六日再改改..

编写 Shell

# 查看磁盘空间
$ df -h

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda1        79G   36G   40G  48% /
    devtmpfs        3.9G     0  3.9G   0% /dev
    tmpfs           3.9G  1.1M  3.9G   1% /dev/shm
    tmpfs           3.9G  592K  3.9G   1% /run
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    tmpfs           783M     0  783M   0% /run/user/0

# 进入根目录,创建 DatabaseBackup 文件夹并进入
$ cd /
$ mkdir DatabaseBackup
$ cd DatabaseBackup

# 创建 gupiaocl188.sh 文件并编辑
$ vim gupiaocl188.sh

    #!/bin/bash
    mysqldump -u project gupiaocl188 | gzip > /DatabaseBackup/gupiaocl188__$(date +%Y-%m-%d__%H:%M:%S).sql.gz

    #生成格式
    www_gupiaocl188__2019-09-17__12:00:01.sql.gz

# 赋值可执行权限
$ sudo chmod u+x gupiaocl188.sh

配置 MySQL

# 配置 MySQL [mysqldump]
$ my.ini

    [mysqldump]
    user     = project
    password = HiGirl0921

# 执行 Shell脚本测试
$ ./gupiaocl188.sh

安装 Crontab


# 安装 Crontab
$ yum install -y vixie-cron

# 设置 Crontab 开启启动
$ chkconfig –level 35 crond on

# 启动 Crontab 服务
$ service crond start

# 编辑计时器设置
$ crontab -e

    # 每俩小时自动备份 www_gupiaocl188_ 数据库
    */120 * * * * /DatabaseBackup/www_gupiaocl188_.sh

## Crontab 命令

# 启动服务
$ service crond start

# 关闭服务
$ service crond stop

# 重启服务
$ service crond restart

# 重载配置
$ service crond reload

# 查看状态
$ service crond status