update.sh 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #!/bin/bash
  2. # 安装git函数
  3. install_git() {
  4. echo "正在安装git..."
  5. # 执行安装git的命令,例如:apt-get install git -y
  6. # 请根据你的Linux发行版和包管理器进行相应的修改
  7. yum install git -y
  8. }
  9. # 安装rsync函数
  10. install_rsync() {
  11. echo "正在安装rsync..."
  12. # 执行安装rsync的命令,例如:apt-get install rsync -y
  13. # 请根据你的Linux发行版和包管理器进行相应的修改
  14. yum install rsync -y
  15. }
  16. # 检查git是否安装
  17. if ! command -v git &> /dev/null; then
  18. install_git
  19. fi
  20. # 检查rsync是否安装
  21. if ! command -v rsync &> /dev/null; then
  22. install_rsync
  23. fi
  24. echo "----------------------------------------------"
  25. # 设置要克隆的项目的URL
  26. git_url="https://gitee.com/wen-open/mini_back"
  27. rm -rf mini_back
  28. rm -rf front
  29. rm -rf public/storage/qrcode
  30. rm -rf storage/tmp
  31. # 首先进行git clone操作
  32. echo "开始执行git clone操作..."
  33. git clone $git_url
  34. # 检查克隆是否成功
  35. if [ $? -eq 0 ]; then
  36. echo "git clone操作成功!"
  37. else
  38. echo "git clone操作失败!"
  39. exit 1
  40. fi
  41. # 获取克隆的项目名称
  42. repository_name=$(basename $git_url .git)
  43. # 检查是否存在同名文件夹
  44. if [ -d "$repository_name" ]; then
  45. # 如果同名文件夹存在,则将其剪切到当前目录
  46. echo "开始剪切项目到当前目录..."
  47. rm -rf $repository_name/public/storage/logos
  48. rm -rf $repository_name/public/storage/tarbar
  49. rsync -zqr $repository_name/* ./
  50. rsync -zqr $repository_name/.git ./
  51. rm -rf $repository_name
  52. echo "项目已成功剪切到当前目录!"
  53. else
  54. echo "克隆的项目文件夹不存在!"
  55. exit 1
  56. fi
  57. # 清理下载的git仓库
  58. echo "----------------------------------------------"
  59. chmod -R 755 ./*
  60. echo "文件权限设置755权限!"
  61. echo "----------------------------------------------"
  62. # 更改文件所有者为www用户
  63. chown -R www:www ./*
  64. echo "文件所有者已更改www用户!"
  65. echo "----------------------------------------------"
  66. # 检查目录是否存在
  67. if [ ! -d "bootstrap/cache" ]; then
  68. echo "bootstrap/cache 目录不存在!"
  69. exit 1
  70. fi
  71. # 删除 packages.php 文件
  72. if [ -f "bootstrap/cache/packages.php" ]; then
  73. echo "开始删除 bootstrap/cache/packages.php..."
  74. rm -f bootstrap/cache/packages.php
  75. echo "bootstrap/cache/packages.php 已成功删除!"
  76. else
  77. echo "bootstrap/cache/packages.php 文件不存在!"
  78. fi
  79. # 删除 services.php 文件
  80. if [ -f "bootstrap/cache/services.php" ]; then
  81. echo "开始删除 bootstrap/cache/services.php..."
  82. rm -f bootstrap/cache/services.php
  83. echo "bootstrap/cache/services.php 已成功删除!"
  84. else
  85. echo "bootstrap/cache/services.php 文件不存在!"
  86. fi
  87. echo "----------------------------------------------"
  88. chmod -R 766 storage
  89. echo "文件夹storage权限更改完成!"
  90. echo "----------------------------------------------"
  91. chmod -R 766 public
  92. echo "文件夹public权限更改完成!"
  93. echo "----------------------------------------------"
  94. chmod -R 766 app/Extensions
  95. echo "文件夹app/Extensions权限更改完成!"
  96. echo "----------------------------------------------"
  97. rm -rf .git
  98. echo "脚本执行完毕!"