# [メタ情報] # 識別子: xserver内に圧縮zipを作成_exe # システム名: xserver内に圧縮zipを作成。毎日0:05plugins 0:10themes 0:15uploadをXserverのCronにて実行。 # 技術種別: Misc # 機能名: zip作成 # 使用言語: ShellScript # 状態: 実行用 # [/メタ情報] 要約:3つのスクリプトは、WordPressの主要ディレクトリ(plugins・themes・uploads)を自動的にZIP圧縮するためのBashスクリプトである。各スクリプトは対象フォルダを指定し、出力先フォルダ(zip_files)を確認・作成後、不要な.DS_Storeを削除して階層構造を保持したままzip化する。処理の成否に応じてメッセージを表示し、サーバー上でのバックアップや配布用に安全かつ簡潔に圧縮を実行できるよう設計されている。 Xserverに付属するサービスであるCron設定を使い、毎日0:05plugins 0:10themes 0:15uploadにて実行。 スクリプトはXserver内に置く、plugins themes uploadsを圧縮する。 /xserver_scripts compress_plugins.sh /home/xxxxxxxx/xserver_scripts/compress_plugins.sh #!/bin/bash # 圧縮したいフォルダのパス SOURCE_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/wp-content/plugins" # zipファイルの置き場所と名前 OUTPUT_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/zip_files" OUTPUT_FILE="${OUTPUT_FOLDER}/zip_plugins.zip" # 出力フォルダが存在しない場合、作成 if [ ! -d "$OUTPUT_FOLDER" ]; then mkdir -p "$OUTPUT_FOLDER" fi # 不要な .DS_Store ファイルを削除 find "$SOURCE_FOLDER" -name ".DS_Store" -delete # zipファイルの作成(フォルダ構造を保持し、.DS_Storeを除外) zip -r "$OUTPUT_FILE" "$SOURCE_FOLDER" -x "*.DS_Store" # 結果を表示 if [ $? -eq 0 ]; then echo "フォルダを正常に圧縮しました: $OUTPUT_FILE" else echo "圧縮に失敗しました。" fi compress_themes.sh /home/xxxxxxxx/xserver_scripts/compress_themes.sh #!/bin/bash # 圧縮したいフォルダのパス SOURCE_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/wp-content/themes" # zipファイルの置き場所と名前 OUTPUT_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/zip_files" OUTPUT_FILE="${OUTPUT_FOLDER}/zip_themes.zip" # 出力フォルダが存在しない場合、作成 if [ ! -d "$OUTPUT_FOLDER" ]; then mkdir -p "$OUTPUT_FOLDER" fi # 不要な .DS_Store ファイルを削除 find "$SOURCE_FOLDER" -name ".DS_Store" -delete # zipファイルの作成(フォルダ構造を保持し、.DS_Storeを除外) zip -r "$OUTPUT_FILE" "$SOURCE_FOLDER" -x "*.DS_Store" # 結果を表示 if [ $? -eq 0 ]; then echo "フォルダを正常に圧縮しました: $OUTPUT_FILE" else echo "圧縮に失敗しました。" fi compress_uploads.sh /home/xxxxxxxx/xserver_scripts/compress_uploads.sh #!/bin/bash # 圧縮したいフォルダのパス SOURCE_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/wp-content/uploads" # zipファイルの置き場所と名前 OUTPUT_FOLDER="/home/xxxxxxxx/xxxxxxxx.com/public_html/zip_files" OUTPUT_FILE="${OUTPUT_FOLDER}/zip_uploads.zip" # 出力フォルダが存在しない場合、作成 if [ ! -d "$OUTPUT_FOLDER" ]; then mkdir -p "$OUTPUT_FOLDER" fi # 不要な .DS_Store ファイルを削除 find "$SOURCE_FOLDER" -name ".DS_Store" -delete # zipファイルの作成(フォルダ構造を保持し、.DS_Storeを除外) zip -r "$OUTPUT_FILE" "$SOURCE_FOLDER" -x "*.DS_Store" # 結果を表示 if [ $? -eq 0 ]; then echo "フォルダを正常に圧縮しました: $OUTPUT_FILE" else echo "圧縮に失敗しました。" fi