在CentOS系统中,使用SSH进行备份与恢复通常涉及以下几个步骤:
使用rsync
进行文件备份
rsync
是一个非常强大的文件同步工具,可以通过SSH进行远程备份。
rsync -avz --delete /path/to/source/ user@remotehost:/path/to/destination/
-a
:归档模式,表示递归传输并保持符号链接、文件权限、时间戳、用户和组信息。-v
:详细模式,显示传输过程中的详细信息。-z
:压缩文件数据在传输过程中。--delete
:删除目标目录中源目录不存在的文件。备份数据库 如果你需要备份MySQL或PostgreSQL数据库,可以使用相应的命令行工具。
MySQL
mysqldump -u username -p database_name > backup.sql
然后通过SSH将备份文件传输到远程服务器:
scp backup.sql user@remotehost:/path/to/destination/
PostgreSQL
pg_dump -U username -d database_name > backup.sql
同样通过SSH传输备份文件:
scp backup.sql user@remotehost:/path/to/destination/
使用rsync
进行文件恢复
如果你需要从备份中恢复文件,可以使用相同的rsync
命令,但方向相反。
rsync -avz --delete user@remotehost:/path/to/destination/ /path/to/source/
恢复数据库
MySQL
mysql -u username -p database_name < backup.sql
PostgreSQL
psql -U username -d database_name < backup.sql
你可以使用cron
作业来自动化备份过程。编辑crontab
文件:
crontab -e
添加一行来定义备份任务,例如每天凌晨2点进行备份:
0 2 * * * rsync -avz --delete /path/to/source/ user@remotehost:/path/to/destination/
保存并退出编辑器。
通过以上步骤,你可以在CentOS系统中使用SSH进行文件和数据库的备份与恢复。