有馬総一郎のブログ

(彼氏の事情)

2018年02月16日 20:41:38 JST - 2 minute read - Linux

ownCloudが、Server replied "423 Locked"...で同期エラーとなるのを解消する

owncloud clientdirector/to/file.ext: Server replied "423 Locked" to "DELETE https://arimasou16.com/remote.php...みたいなエラーで同期できない。

“今すぐ強制的に同期"を実行したり、フォルダを削除して、同期しなおしても、その後、フォルダ内に変更を加えると、またしても同期エラーとなる…Ubuntuだけでなく、別のWindowsデスクトップ側でも同じだった。

色々ググるとサーバー側でエラーを返しているのだから、クライアント側でなにをやっても無駄だと分かった。

参考になったのはこのページ→ 9.0.2 : “server replied: Locked” - ownCloud Forums

1.メンテナンスモードにするsudo -u www-data php occ maintenance:mode --on

arimasou16@ubuntu:~$ cd /var/www/owncloud/
arimasou16@ubuntu:/var/www/owncloud$ sudo -u www-data php occ maintenance:mode --on
Maintenance mode enabled

2.MySQL(MariaDB)にログインするmysql -u root -p

arimasou16@ubuntu:/var/www/owncloud$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 61557
Server version: 5.7.21-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

3.データベース名の確認(しなくていい)show databases;

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| owncloud           |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)

4.owncloudのデータベースを選択use owncloud;

mysql> use owncloud;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

5.テーブル名の確認(しなくていい)show tables;

mysql> show tables;
+-----------------------------+
| Tables_in_owncloud          |
+-----------------------------+
| oc_activity                 |
| oc_activity_mq              |
| oc_addressbookchanges       |
| oc_addressbooks             |
| oc_appconfig                |
| oc_authtoken                |
| oc_calendarchanges          |
| oc_calendarobjects          |
| oc_calendars                |
| oc_calendarsubscriptions    |
| oc_cards                    |
| oc_cards_properties         |
| oc_comments                 |
| oc_comments_read_markers    |
| oc_credentials              |
| oc_dav_shares               |
| oc_federated_reshares       |
| oc_file_locks               |
| oc_filecache                |
| oc_files_trash              |
| oc_group_admin              |
| oc_group_user               |
| oc_groups                   |
| oc_jobs                     |
| oc_mimetypes                |
| oc_mounts                   |
| oc_notifications            |
| oc_preferences              |
| oc_privatedata              |
| oc_properties               |
| oc_schedulingobjects        |
| oc_share                    |
| oc_share_external           |
| oc_storages                 |
| oc_systemtag                |
| oc_systemtag_group          |
| oc_systemtag_object_mapping |
| oc_trusted_servers          |
| oc_users                    |
| oc_vcategory                |
| oc_vcategory_to_object      |
+-----------------------------+
41 rows in set (0.00 sec)

6.エラーの原因となってるロックテーブルのレコードを全て削除。delete from oc_file_locks;

mysql> delete from oc_file_locks;
Query OK, 24254 rows affected (0.82 sec)

mysql> quit
Bye

7.メンテナンスモードを解除するsudo -u www-data php occ maintenance:mode --off

arimasou16@ubuntu:/var/www/owncloud$ sudo -u www-data php occ maintenance:mode --off
ownCloud is in maintenance mode - no app have been loaded
Maintenance mode disabled

しばらく、待っているとメンテナンスモードに切り替えたことで自動で切断されたowncloudクライアントが、メンテナンスモードが解除されたことで、また自動で接続して同期し始める。