A huge collection of 3400+ free website templates www.JARtheme.COM WP themes and more at the biggest community-driven free web design site

How To Backup Profile Manager Database (Working Solution for OS X 10.10)

For comments and questions please visit the edugeek forum here: http://www.edugeek.net/forums/mac/157905-backup-profile-manager-database-working-solution-os-x-10-10-a.html

It's annoying that Apple has no easy solution for something that should be a major & required feature for it's Profile Manager. With the help of the post here https://discussions.apple.com/thread/6855393 by @Strontium90 I had gone ahead and created scripts that I now have running on my server that will backup the Profile Manager Database daily. 

I've tested this and I was able to backup the database then erase/reset Profile Manager to scratch then run the restore and have the server backup and running with all the devices, groups etc.

Here are the commands:

Dump/Create backup of the database

#!/bin/bash
sudo pg_dump -h /Library/Server/ProfileManager/Config/var/PostgreSQL -U _devicemgr devicemgr_v2m0 -c -f ~/Desktop/profileManager.sql


Erase/Reset Profile Manager database

sudo /Applications/Server.app/Contents/ServerRoot/usr/share/devicemgr/backend/wipeDB .sh


Restore Profile Manager

sudo -s
cat ~/Desktop/profileManager.sql | psql -h /Library/Server/ProfileManager/Config/var/PostgreSQL -U _devicemgr devicemgr_v2m0
 

If you are doing daily backups like I am I had added this to the script. It will make a copy of the database and add the date & time and copy it to another folder.

cp ~/Desktop/profileManager.sql /Profile\ Manager\ Database\ Backups/$(date +%B_%d_%Y_Time_H%H_M%M)_profileManager.sql
 

 

 

For automatic backups I use the below scripts to automate a scheduled dump of the Profile Manager Database  to both a local folder on the server as well as a networked mounted drive so I would have the databases in two locations. 

This script is your “LaunchDaemons” script that sets the schedule. In one I’ve provided I have it set to 4:00am daily. You can change this to your preferred time.

Name of file “com.mactech.pmbackup.plist"

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Label</key>

<string>com.mactech.pmbackup</string>

<key>ProgramArguments</key>

<array>

<string>/Library/Scripts/profilemanager_backup.sh</string>

</array>

<key>StartCalendarInterval</key>

<dict>

  <key>Hour</key>

  <integer>4</integer>

  <key>Minute</key>

  <integer>00</integer>

</dict>

    <key>RunAtLoad</key>

    <false />

</dict>

</plist>

 

Once you’ve made needed changes to the above script place it at "/Library/LaunchDaemons /com.mactech.pmbackup.plist”

To load or make the script active you need to load it by running the following Terminal Command "launchctl load -w /Library/LaunchDaemons/com.mactech.pmbackup.plist”

 

Below is the script that the “com.mactech.pmbackup.plist” file run on the set schedule.

The First line dumps the database to the desktop so the latest dump is right there. 

The Second line copies the file and placed it into a folder at "/Profile Manager Database Backups”. You need to either create this folder or rename this line or remove the line if you do not wish to have it.

The Third line copies the file to a network share. I have the server setup to mount the share on login so it’s always there. Change “RemoteServerAddress_&_Share” to your network share.

** For the Second & Third lines the files are renamed by adding the Date & Time (ex. October_13_2015_Time_H04_M00_profileManager.sql).

 

#!/bin/bash

sudo pg_dump -h /Library/Server/ProfileManager/Config/var/PostgreSQL -U _devicemgr devicemgr_v2m0 -c -f ~/Desktop/profileManager.sql

cp ~/Desktop/profileManager.sql /Profile\ Manager\ Database\ Backups/$(date +%B_%d_%Y_Time_H%H_M%M)_profileManager.sql

cp ~/Desktop/profileManager.sql /RemoteServerAddress_&_Share/$(date +%B_%d_%Y_Time_H%H_M%M)_profileManager.sql

 

Enjoy 

 

 

 

Add a comment

Print

How To Setup DeployStudio With OS X Yosemite 10.10.4 Server

For comments and questions please visit the edugeek forum here: EduGeek Forum - How To Setup DeployStudio With OS X Yosemite 10.10.4 Server (How-To Video)



Lately I’ve been setting up a number of DeployStudio Servers for other college sites so I figured since it only takes 15-20mins to set one up from scratch that I’d create a quick video on doing so. 

In my test environment I was running a separate domain to show how it would look for those running their servers on a domain like a College/University or other large institutions. 

Hope this helps!

 

 

Add a comment

Print