snipt

Ctrl+h for KB shortcuts

Bash

Easy-peasy folder sync on a Mac

#!/bin/bash

# USAGE:
# Save this file as whatever.command and make sure this file is executable.
# To make it executable, simply open up your Mac's terminal, cd to the folder
# where you've saved this file and then run: $ chmod +x whatever.command
# 
# To execute the file, save it in your Desktop or Home folder and simply click on
# it whenever you want to sync these folders. Alternatively you could create a cron
# job to do this automatically for you.
# 
# To sync multiple folders, simply copy paste the rsync line
# and change source and target folders.

# Example: sync my GitHub Joomla! template repo to 2 local websites for mult-site testing
# Notice the changed path in the second line below...
rsync -av --delete ~/Projects/GitHub/myTemplate/ ~/WWW/Joomla25/templates/myTemplate/
rsync -av --delete ~/Projects/GitHub/myTemplate/ ~/WWW/Joomla3x/templates/myTemplate/

Description

When you got your repo on GitHub or Bitbucket and you want to test your code on one or more local sites, using .command files on a Mac, we can easily sync our project's folder with multiple other locations (our local sites).
https://snipt.net/embed/6be15620e06967104934ef5c00964fa9/
/raw/6be15620e06967104934ef5c00964fa9/
6be15620e06967104934ef5c00964fa9
bash
Bash
19
2019-08-25T14:39:55
True
False
False
/api/public/snipt/72832/
easy-peasy-folder-sync-on-a-mac
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="ch">#!/bin/bash</span> </span><span id="L-2"><a name="L-2"></a> </span><span id="L-3"><a name="L-3"></a><span class="c1"># USAGE:</span> </span><span id="L-4"><a name="L-4"></a><span class="c1"># Save this file as whatever.command and make sure this file is executable.</span> </span><span id="L-5"><a name="L-5"></a><span class="c1"># To make it executable, simply open up your Mac&#39;s terminal, cd to the folder</span> </span><span id="L-6"><a name="L-6"></a><span class="c1"># where you&#39;ve saved this file and then run: $ chmod +x whatever.command</span> </span><span id="L-7"><a name="L-7"></a><span class="c1"># </span> </span><span id="L-8"><a name="L-8"></a><span class="c1"># To execute the file, save it in your Desktop or Home folder and simply click on</span> </span><span id="L-9"><a name="L-9"></a><span class="c1"># it whenever you want to sync these folders. Alternatively you could create a cron</span> </span><span id="L-10"><a name="L-10"></a><span class="c1"># job to do this automatically for you.</span> </span><span id="L-11"><a name="L-11"></a><span class="c1"># </span> </span><span id="L-12"><a name="L-12"></a><span class="c1"># To sync multiple folders, simply copy paste the rsync line</span> </span><span id="L-13"><a name="L-13"></a><span class="c1"># and change source and target folders.</span> </span><span id="L-14"><a name="L-14"></a> </span><span id="L-15"><a name="L-15"></a><span class="c1"># Example: sync my GitHub Joomla! template repo to 2 local websites for mult-site testing</span> </span><span id="L-16"><a name="L-16"></a><span class="c1"># Notice the changed path in the second line below...</span> </span><span id="L-17"><a name="L-17"></a>rsync -av --delete ~/Projects/GitHub/myTemplate/ ~/WWW/Joomla25/templates/myTemplate/ </span><span id="L-18"><a name="L-18"></a>rsync -av --delete ~/Projects/GitHub/myTemplate/ ~/WWW/Joomla3x/templates/myTemplate/ </span></pre></div> </td></tr></table>
command, mac, repo, rsync, shell, sync, terminal