ownCloudをGUIが使えない環境で使えるのかどうかよく分からなかったのだけど、使えた。しかも、この方法だと常駐されずにコマンドを打つまで同期されないので、人にとってはありがたいかも。
普通にownClound Clinetをインストールする。
wget -nv http://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud-client.list"
sudo apt-get update
sudo apt-get install owncloud-client
同期するディクレトリを作成して同期する。コマンドはowncloudcmd
と覚えやすい。コマンドowncloudcmd
の詳細は
Advanced Usage ownCloud Client Manual 2.1.1 documentationにある。
mkdir octopress
owncloudcmd $HOME/octopress https://www.myowncloudinstance.org/owncloud/remote.php/webdav/octopress
何やらinsert文やらが大量に標準出力に表示されて、同期が始まる。
"INSERT OR REPLACE INTO metadata (phash, pathlen, path, inode, uid, gid, mode, modtime, type, md5, fileid, remotePerm, filesize, ignoredChildrenRemote, contentChecksum, contentChecksumTypeId) VALUES (?1 , ?2, ?3 , ?4 , ?5 , ?6
OCC::SyncJournalFileRecord::SyncJournalFileRecord(const OCC::SyncFileItem&, const QString&) "/home/arimasou16/octopress/public" Retrieved inode 4503599627762560 (previous item inode: 4503599627762560 )
"INSERT OR REPLACE INTO metadata (phash, pathlen, path, inode, uid, gid, mode, modtime, type, md5, fileid, remotePerm, filesize, ignoredChildrenRemote, contentChecksum, contentChecksumTypeId) VALUES (?1 , ?2, ?3 , ?4 , ?5 , ?6
OCC::SyncJournalFileRecord::SyncJournalFileRecord(const OCC::SyncFileItem&, const QString&) "/home/arimasou16/octopress/source" Retrieved inode 2533274790792652 (previous item inode: 2533274790792652 )
"INSERT OR REPLACE INTO metadata (phash, pathlen, path, inode, uid, gid, mode, modtime, type, md5, fileid, remotePerm, filesize, ignoredChildrenRemote, contentChecksum, contentChecksumTypeId) VALUES (?1 , ?2, ?3 , ?4 , ?5 , ?6
void OCC::SyncJournalDb::walCheckpoint() took 0 msec
void OCC::SyncJournalDb::commitInternal(const QString&, bool) Transaction commit "All Finished."
void OCC::SyncJournalDb::close() "/home/arimasou16/octopress/._sync_20e025134602.db"
No database Transaction to commit
CSync run took 156430
virtual OCC::BandwidthManager::~BandwidthManager()
void OCC::SyncEngine::abort() QObject(0x0)
void OCC::SyncJournalDb::close() "/home/arimasou16/octopress/._sync_20e025134602.db"
No database Transaction to commit
arimasou16@UbuntuServer:~/octopress$
その後も、ディレクトリを同期したい場合は、同じコマンドを打てばされる。
必要最低限のコマンドだと、ユーザー名とパスワードを対話式で入力する必要があるので、-u username -p mypassword
で、入力省略することもできる。ユーザー名、パスワードをコマンドに含めたくないならば、
machine www.myowncloudinstance.org
login username
password mypassword
上記内容を記述した~/.netrc
というファイルを作成して、コマンドオプションとして-n
を付ければユーザー、パスワードを打たなくて済む。machine
の項目は必須。
それから、同期処理の詳細を表示させたくなければ-s
を付ければいい。なので、~/.netrc
を用意しておけば、
owncloudcmd -s -n $HOME/octopress https://www.myowncloudinstance.org/owncloud/remote.php/webdav/octopress
で済むようになる。