linux定时任务执行

定时备份文件

参考地址: https://www.cnblogs.com/blazeZzz/p/10881297.html

创建文件夹

mkdir -p /data/backdata

mkdir -p /data/logs

mkdir -p /data/mysqlbak

进入文件夹

cd /data/mysqlbak

创建文件touch backup.sh

编辑文件 vi backup.sh

添加下面的内容

DATE=$(date +%Y%m%d)

/usr/local/mysql-5.7/bin/mysqldump -uroot -p123456 -h127.0.0.1 --databases reporting-system | gzip > /data/backdata/reporting_$DATE.sql.gz

scp -r /data/backdata/reporting_$DATE.sql.gz [email protected]:/data/backdata/

讲解:

mysql 安装路径: /usr/local/mysql-5.7/bin/mysqldump

uroot 数据库用户名 u+用户名

p123456 密码 p+密码

reporting-system 数据库名称

/data/backdata/reporting_$DATE.sql.gz 本机文件存放的地址

[email protected]:/data/backdata/ 远程服务器文件存放的地址

进入到 backup.sh目录下执行

设置脚本的执行权限

chmod 777 backup.sh

将备份操作加入到定时任务(每天凌晨2点定时执行)

执行下面文件

crontab -e

将时间添加到文件里面保存

00 02 * * *  /data/mysqlbak/backup.sh > /data/logs/backup.log 2>&1

定时删除

进入文件夹

cd /data/mysqlbak

创建文件 touch clean_backdata.sh

编辑文件添加一下内容

vi  clean_backdata.sh

find /data/backdata/ -mtime +7 -name "*.gz" -exec rm -rf {} \;

进入到 clean_backdata.sh目录下执行

设置脚本的执行权限

chmod 777 clean_backdata.sh

执行:  crontab -e

将时间添加到文件里面保存

3 14 * * *  /data/mysqlbak/clean_backdata.sh > /data/logs//backup_full_clean.log 2>&1

两台centos之间免密传输 scp

参考地址: https://www.cnblogs.com/heiboy/p/11195222.html

两台linux服务器之间免密scp,在A机器上向B远程拷贝文件

操作步骤:
1、在A机器上,执行ssh-keygen -t rsa,一路按Enter,不需要输入任何内容。(如有提示是否覆盖,可输入y后按回车)
2、到/root/.ssh/目录下,查看是否有id_rsa.pub文件生成
3、将A机器生成的id_rsa.pub文件拷贝到B机器的/root/.ssh/下,并将id_rsa.pub改名为authorized_keys(如果B机器已经有了authorized_keys,可以编辑,向下追加ssh-rsa内容即可)
4、好了,现在就可以在A机器上通过scp -r /data/backdata/reporting_$DATE.sql.gz [email protected]:/data/backdata/ 命令进行免密远程拷贝了

注意:
1、A机器修改密码后,需要重新按上述步骤操作一遍
2、复制的两台计算机需要用相同的账户名

将文件从服务器a远程传输到服务器b上

scp -r  id_rsa.pub [email protected]:/root/.ssh/

远程服务器B

修改名称为: mv id_rsa.pub authorized_keys

Guess you like

Origin blog.csdn.net/qq_36961226/article/details/112962118