代码如下 | 复制代码 |
#!/bin/bash D="/root/backup" T=`date +%Y%m%d` if [ ! -d "${D}/${T}" ]; then /bin/mkdir "${D}/${T}" fi /usr/local/mysql/bin/mysqldump --host=localhost --user=root --password=数据库密码 要备份的数据库名 > "${D}/${T}/${T}.sql" cd ${D} /bin/tar -czf "${D}/${T}.tar.gz" "${T}" /usr/bin/scp "${D}/${T}.tar.gz" kuco@x4100.unix-center.net:~/web_backup/studyday.net |
2, 设置 Crontab , 更多的 crontab 介绍在这里
代码如下 | 复制代码 |
crontab -e 30 04 * * * /bin/sh /root/backup/web_backup.sh |
3, 可能会遇到的问题:
在 STEP 1 中 scp 远程复制命令时会遇到输入密码的提示, 如果没有密码输入, 会导致复制不成功. 通过百度找到了解决的办法.
1, 在 VPS 服务器上的 ~/.ssh/ 目录下生成密钥文件:
代码如下 | 复制代码 |
mkdir -p ~/.ssh ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa |
2, 在 x4100 服务器上配置:
代码如下 | 复制代码 |
mkdir -p ~/.ssh touch ~/.ssh/authorized_keys |
3, 将 VPS 服务器的 ~/.ssh/id_rsa.pub 内容追加到 x4100 服务器的 ~/.ssh/authorized_keys 里面
这样就可能在调用 scp 命令时没有密码输入提示了.
时间: 2025-01-28 02:24:17