我对这一切都很熟悉,所以轻松一点——我的第一个 bash 脚本。
我制作了一个简单的 bash 脚本:
- 登录到网络服务器
- 将网站文件传输到我们的 OSX 服务器
- 将数据库哑元传输到我们的 OSX 服务器
- 在 OSX 上使用 tar 压缩文件
- 将日期命名的存档保存到 OSX 上的不同目录
- 删除超过 15 天的档案
该脚本运行良好,但在制作存档时由于权限错误而失败 - 这一切都发生在 OSX 服务器上。
如何授予脚本压缩文件的权限?我使用网络服务器的 root 用户来传输文件。
该脚本非常基本 - 只是一堆像这样的终端命令:
echo "START WEB SERVER BACKUP"
rsync -azrP --delete user@1.2.3.4:/etc/apache2/ ~/Backups/webserver-backups/apache/;
echo "Complete"
echo "Starting transfer of mysql databases"
rsync -azrP --delete user@1.2.3.4:/mysql-backups/ ~/Backups/webserver-backups/mysql/;
echo "Complete"
echo "Starting transfer of website files"
rsync -azrP --delete root@1.2.3.4:/website-vhosts/ ~/Backups/webserver-backups/vhosts/;
echo "Complete"
echo "Compressing files into archive - this may take 5-10 minutes"
DATE=`date +%Y-%m-%d`
tar -zcfp ~/Backups/webserver-backups/archives/dev-$DATE.tar.gz ~/Backups/webserver-backups;
echo "Complete"
echo "Removing archives older than 15 days"
find "~/Backups/webserver-backups/archives/" -maxdepth 1 -type f -name "*.tar.gz" -mtime +15 -exec rm -f {} \;
echo "Complete"
echo "WEB SERVER BACKUP COMPLETE"
任何帮助或指示将不胜感激。
干杯
本