返回列表 发帖

远程备份站点目录和数据库+at一次性计划任务

笺注:这是在 LNMP一键安装包(lnmp_CentOS6.9) 的基础上进行的。


数据库的备份命令:
[root@localhost ~]# which mysqldump
/usr/bin/mysqldump


在本地服务器安装以下命令:
[root@localhost ~]# which lftp
/usr/bin/which: no lftp in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

[root@localhost ~]# yum -y install lftp

[root@localhost ~]# which lftp
/usr/bin/lftp



站点的目录:
[root@localhost ~]# cd /home/wwwroot/
[root@localhost wwwroot]# ls -lh
总用量 12K
drwxr-xr-x  18 www www 4.0K 6月  23 03:07 blog.zhuohua.store
drwxr-xr-x.  3 www www 4.0K 6月  23 02:23 default
drwxr-xr-x   5 www www 4.0K 6月  23 03:18 word.zhuohua.store


站点的数据库:
[root@localhost ~]# mysql -u"root" -p"888" -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| discuz             |
| mysql              |
| performance_schema |
| wordpress          |
+--------------------+



备份脚本backup_ftp.sh的内容:
[root@localhost ~]# vi backup_ftp.sh
#!/bin/bash

#指定备份文件存放的目录;假如目录不存在,则自动创建
Backup_Home="/home/backup/"
if [ ! -d ${Backup_Home} ]; then  
    mkdir -p ${Backup_Home}
fi

#指定备份文件临时存放的目录;假如目录不存在,则自动创建
Backup_Home_ftp="/home/backup_ftp/"
if [ ! -d ${Backup_Home_ftp} ]; then  
    mkdir -p ${Backup_Home_ftp}
fi


#指明数据库备份命令的位置:
MySQL_Dump="/usr/bin/mysqldump"

#指明备份数据库时用到的用户名和密码:
MYSQL_UserName='root'
MYSQL_PassWord='888'


#备份站点blog.zhuohua.store的目录:
Backup_time=`date +'%Y%m%d%H%M%S'` #格式:年月日时分秒
web1="blog.zhuohua.store"
cd /home/wwwroot/
Today_web1_Backup="${Backup_Home}${web1}_${Backup_time}.tar.gz"
tar -czvf ${Today_web1_Backup} ${web1}

#备份站点blog.zhuohua.store的数据库:
MYSQL_Db1='discuz'
MYSQL_Db1_file=${Backup_Home}${web1}_db-$MYSQL_Db1-${Backup_time}.sql
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $MYSQL_Db1 > ${MYSQL_Db1_file}

cp -rfp ${Today_web1_Backup} ${Backup_Home_ftp}
cp -rfp ${MYSQL_Db1_file} ${Backup_Home_ftp}


######

#备份站点word.zhuohua.store的目录:
Backup_time=`date +'%Y%m%d'` #格式:年月日
web2="word.zhuohua.store"
cd /home/wwwroot/
Today_web2_Backup="${Backup_Home}${web2}_${Backup_time}.tar.gz"
tar -czvf ${Today_web2_Backup} ${web2}

#备份站点word.zhuohua.store的数据库:
MYSQL_Db2='wordpress'
MYSQL_Db2_file=${Backup_Home}${web2}_db-$MYSQL_Db2-${Backup_time}.sql
${MySQL_Dump} -u$MYSQL_UserName -p$MYSQL_PassWord $MYSQL_Db2 > ${MYSQL_Db2_file}

cp -rfp ${Today_web2_Backup} ${Backup_Home_ftp}
cp -rfp ${MYSQL_Db2_file} ${Backup_Home_ftp}


cd ${Backup_Home_ftp}

FTP_Host='192.168.168.148' #远程FTP服务器的IP地址
FTP_Username='mary' #远程FTP服务器的FTP用户
FTP_Password='123456a' #远程FTP服务器的FTP用户密码

    lftp ${FTP_Host} -u ${FTP_Username},${FTP_Password} << EOF
#cd ${FTP_Dir}  这是在FTP里面切换目录
mput ${Today_web1_Backup}
mput ${MYSQL_Db1_file}

mput ${Today_web2_Backup}
mput ${MYSQL_Db2_file}
bye
EOF

rm -rf ${Backup_Home_ftp}/*



备份脚本backup_ftp.sh的权限:
[root@localhost ~]# ll backup_ftp.sh
-rw-r--r-- 1 root root 2052 6月  23 03:35 backup_ftp.sh



要先搭建好远程FTP服务器:
图片1.png
2021-1-16 17:34




在本地服务器手动运行备份脚本:
[root@localhost ~]# whoami
root
[root@localhost ~]# bash backup_ftp.sh



服务器本地会有备份:
[root@localhost ~]# cd /home/backup
[root@localhost backup]# ls -lh
总用量 13M
-rw-r--r-- 1 root root 3.9M 6月  23 03:47 blog.zhuohua.store_20200623034722.tar.gz
-rw-r--r-- 1 root root 337K 6月  23 03:47 blog.zhuohua.store_db-discuz-20200623034722.sql

-rw-r--r-- 1 root root 7.9M 6月  23 03:47 word.zhuohua.store_20200623.tar.gz
-rw-r--r-- 1 root root  41K 6月  23 03:47 word.zhuohua.store_db-wordpress-20200623.sql



远程FTP服务器也会有备份:
图片2.png
2021-1-16 17:34














######
######

at 一次性计划任务:

安装软件包:
[root@localhost ~]# yum -y install at

[root@localhost ~]# which at
/usr/bin/at

启动:
[root@localhost ~]# service atd start

开机自动启动:
[root@localhost ~]# chkconfig --level 35 atd on

[root@localhost ~]# chkconfig --list atd
atd             0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭





创建at一次性计划任务:(自动运行脚本)
[root@localhost ~]# at 02:15 2020-8-23
图片3.png
2021-1-16 17:35


注释:这是给当前系统用户创建计划任务。




对于已经设置但还未执行(未到时间点)的计划任务,可以通过命令atq进行查询,但已经执行过的计划任务不会再出现在列表中。

根据编号查看计划任务的具体内容:( at -c 2
图片4.png
2021-1-16 17:36

正确的格式,如下图:
图片5.png
2021-1-16 17:36


备注:当前系统用户登不登录,计划任务都会自动执行。




删除指定编号的at计划任务:( atrm 3
图片6.png
2021-1-16 17:36







###

创建at一次性计划任务:(自动重启服务器)
图片7.png
2021-1-16 17:37


图片8.png
2021-1-16 17:37


图片9.png
2021-1-16 17:37


注释:
[root@localhost ~]# which init
/sbin/init



笺注:实验中,at计划任务都可以正常执行。







相关文章:
本地备份站点目录和数据库+crontab计划任务
Linux下MySQL的备份和还原

date命令
vsftpd用户验证(一)
Linux客户端使用lftp命令连接FTP服务端

CentOS8使用计划任务
Windows2008r2_Serv-U_6.3





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

休闲零食传承世家风干牛肉干 手撕风干牛肉四川特产【非偏远地区满79包邮】
niur.png
2019-10-4 16:25


长虹办公室鼠标加热保暖桌垫毯电脑暖手桌面发热板电热台板写字台
dianzi.png
2019-10-4 16:25


飞科电熨斗蒸汽家用熨斗家用电烫斗蒸气手持迷你电熨斗FI9308包邮
weidou.png
2019-10-4 16:25


新款男长款拉链潮男士钱包男士手拿包 商务皮夹钱夹-JKPJ1806
nanbao.png
2019-10-4 16:25


韩版定型斜挎单肩手提包SN-两层活动女包8874
nvbao.png
2019-10-4 16:25

返回列表