<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dropbox &#8211; Gary&#039;s &#8230;Lasamia</title>
	<atom:link href="https://garynil.tw/tag/dropbox/feed/" rel="self" type="application/rss+xml" />
	<link>https://garynil.tw</link>
	<description>🍎 📱 🖥 🔨 😄</description>
	<lastBuildDate>Mon, 09 Oct 2017 10:12:31 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>

<image>
	<url>https://i0.wp.com/garynil.tw/wp-content/uploads/2017/01/cropped-Gary_v3.0.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>dropbox &#8211; Gary&#039;s &#8230;Lasamia</title>
	<link>https://garynil.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">147732124</site>	<item>
		<title>Backup (Ruby gem) Notifier Command 使用</title>
		<link>https://garynil.tw/2017/10/440/backup-gem-notifier-command-%e4%bd%bf%e7%94%a8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=backup-gem-notifier-command-%25e4%25bd%25bf%25e7%2594%25a8</link>
					<comments>https://garynil.tw/2017/10/440/backup-gem-notifier-command-%e4%bd%bf%e7%94%a8/#respond</comments>
		
		<dc:creator><![CDATA[Gary]]></dc:creator>
		<pubDate>Sun, 01 Oct 2017 16:16:38 +0000</pubDate>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[server]]></category>
		<guid isPermaLink="false">https://garynil.tw/?p=440</guid>

					<description><![CDATA[<p>因為之前備份的雲端空間暫時無法使用，便想說將主機自動備份程序 Backup 的雲端目標轉往 Dropbox，但無奈一直出現 DropboxAuthError: Error getting request token 錯誤。 於是改以較為土砲的方法，在 Backup 備份完成至主機本地之後，自動跑一份 Python script 將本地的備份檔自動上傳至 Dropbox，便看到了 Backup 有提供這個方法 [crayon-6a78295295365638874871/] 但無論我在 cmd.command 下 /usr/bin/python /路徑/dropbox_backup.py，或者先 cd 至指定路徑皆會出現找不到檔案的錯誤。便猜想可能是 Ruby (Backup) 在執行時是在虛擬環境中，會找不到其他目錄中的 script。 解決方法 1.在 /usr/local/bin/ 中...</p>
<p>這篇文章 <a rel="nofollow" href="https://garynil.tw/2017/10/440/backup-gem-notifier-command-%e4%bd%bf%e7%94%a8/">Backup (Ruby gem) Notifier Command 使用</a> 最早出現於 <a rel="nofollow" href="https://garynil.tw">Gary&#039;s ...Lasamia</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p>因為之前備份的雲端空間暫時無法使用，便想說將主機自動備份程序 <a href="http://backup.github.io/backup/v4/">Backup</a> 的雲端目標轉往 Dropbox，但無奈一直出現 <code>DropboxAuthError: Error getting request token</code> 錯誤。</p>
<p>於是改以較為土砲的方法，在 Backup 備份完成至主機本地之後，自動跑一份 <a href="https://github.com/GaryniL/DropboxUpload">Python script</a> 將本地的備份檔自動上傳至 Dropbox，便看到了 Backup 有提供這個<a href="http://backup.github.io/backup/v4/notifier-command/">方法</a></p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">notify_by Command do |cmd|
  cmd.on_success = true
  cmd.on_warning = true
  cmd.on_failure = true

  # Command to execute
  cmd.command = 'notify-send'
end</pre><p></p>
<p><span id="more-440"></span></p>
<p>但無論我在 <code>cmd.command</code> 下 <code>/usr/bin/python /路徑/dropbox_backup.py</code>，或者先 cd 至指定路徑皆會出現找不到檔案的錯誤。便猜想可能是 Ruby (Backup) 在執行時是在虛擬環境中，會找不到其他目錄中的 script。</p>
<h4>解決方法</h4>
<p>1.在 <code>/usr/local/bin/</code> 中建立一份 bash script <code>run_python.sh</code>，如下：</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">#!/bin/sh
cd "python script 的資料夾路徑"
python ./dropbox_backup.py</pre><p></p>
<p>2.將這份 script 改成可執行的權限</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">$ chmod +x /usr/local/bin/run_python.sh</pre><p></p>
<p>3.你便可以在任意地方呼叫這份 bash script，例如</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">$ run_python.sh</pre><p></p>
<p>當然也代表在 Backup 的 Notifier command 中使用，如此便會在備份完成時執行 upload dropbox 的 Python script 了！</p>
<p></p><pre class="urvanov-syntax-highlighter-plain-tag">notify_by Command do |cmd|
    cmd.on_success = true
    cmd.on_warning = true
    cmd.on_failure = false

    # Command to execute
    cmd.command = '/usr/local/bin/run_python.sh'
end</pre><p></p>
<p>另外補充一下用 bash script 跑 Python script 建議不要輸出 print 到 command window，不然跑完時會卡錯誤。</p>
<p>這篇文章 <a rel="nofollow" href="https://garynil.tw/2017/10/440/backup-gem-notifier-command-%e4%bd%bf%e7%94%a8/">Backup (Ruby gem) Notifier Command 使用</a> 最早出現於 <a rel="nofollow" href="https://garynil.tw">Gary&#039;s ...Lasamia</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://garynil.tw/2017/10/440/backup-gem-notifier-command-%e4%bd%bf%e7%94%a8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">440</post-id>	</item>
	</channel>
</rss>
