Atlassian JIRAとConfluence for Windowsの毎日のバックアップ





チャレンジ:





Windowsでこれを行うために必要な予約を行います。Linuxではすべてがより簡単かつ高速になります。 また、あなたが管理者である場合、このトピックはあなたの興味を引く可能性が低く、新しいことは何も学びません。 ただし、書面を既成の実績のあるソリューションとして使用できます。





まず、変数を定義しましょう:

::   Attachments  JIRA  Confluence set attachments="C:\Program Files\Atlassian\Application Data\JIRA\data" ::,     backups set backup_folder=D:\Backups\Atlassian\JIRA\daily_backups ::   mysqldump.exe set mysqldump_path="C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" ::  MySQL set dbuser=root ::   MySQL set dbpass=<change password> ::  ,     (JIRA  Confluence) set dbname=jiradb
      
      







各バックアップには一意の名前が必要です。年、月、日、および時間間隔を使用してバックアップを生成できます。

 For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set dt=%%c-%%a-%%b) For /f "tokens=1-4 delims=:." %%a in ('echo %time%') do (set tm=%%a%%b%%c%%d) set backupdate=%1%dt%_%tm% set date_folder=%1%dt%
      
      







名前は好きなように調整できます。私の場合、フォーマットは[db name] .YYYY-MM-DD_ttです



変数date_folderを設定して、YYYY-MM-DDフォルダーが毎日作成され、バックアップが追加されるようにします。



したがって、ディレクトリがない場合は作成します。

 if exist %backup_folder%\%date_folder% GOTO NODIR mkdir %backup_folder%\%date_folder% :NODIR
      
      







次に、mysqldumpを使用してデータベースの通常のバックアップを実行し、7zipを使用してアーカイブし、アーカイブされたファイルを削除します。

 %mysqldump_path% --user=%dbuser% --password=%dbpass% --databases %dbname% > "%backup_folder%\%date_folder%\%dbname%.%backupdate%.sql" "zip\7za.exe" a -tzip "%backup_folder%\%date_folder%\%dbname%.%backupdate%.zip" "%backup_folder%\%date_folder%\*.sql" del "%backup_folder%\%date_folder%\*.sql"
      
      







添付ファイル付きのフォルダをアーカイブすることを忘れないでください:

 "zip\7za.exe" a -tzip %backup_folder%\%date_folder%\attachments.%backupdate%.zip %attachments%
      
      







そして、残っているのは古いディレクトリ(14日以上)を削除することだけです。

 forfiles -p %backup_folder% -s -d -14 -c "cmd /c if @isdir == TRUE rd /s /q @path"
      
      







あとは、このbatファイルをWindows Task Shedulerにフィードして、タスクが毎日機能するように指定するだけです。



PSタスクが機能しない場合は、タスクを実行するユーザーがログインしていない場合でもタスクを実行する必要があること、およびこのユーザーが書き込み権限を持っていることを示すチェックマークがあることを確認します。 また、スクリプトが存在するディレクトリでタスクを実行することを示すことを忘れないでください。 (タスクの場合、これはオプションのパラメーターですが、それなしではタスクは機能しましたが、スクリプトは実行されませんでした。)



PPS誰かがスクリプトが有用だと思ったら、ここからダウンロードできます: ダウンロード



All Articles