Чем занять себя в понедельник? Захожу на сервер чтобы обновить одну бяку. Смотрю, а у меня есть каталоги owncloud и owncloud-old. Второй остался после обновления – забыла удалить. Делаю:
exa owncloud-old
Ничего особенного, ни симлинков, одни файлы предыдущей версии без каталога данных. Делаю:
rm -r owncloud-old
Удаляется как-то медленно. Неужто прозевала симлинк или каталог данных? Надо глянуть, что там в каталоге текущей версии! И тут у меня случается затмение... Мысленно (по памяти) просмотрев содержимое уже удалённого каталога, а может глянув листинг в консоли выше, я делаю Вверх, стираю «-old» и жму Enter. exa задумывается, листинг не появляется. С криком «ААААААА!!!» жму Ctrl+C. Делаю:
exa owncloud
Каталог сильно оптимизирован, но папка data ещё на месте. Спешно тушу Апач и MySQL, попутно замечая, что клиент ownCloud на текущей машине уже отвалился. Проверяю, что там насинхронизировалось – ничего. Начинаю думать, как жить дальше. Проверяю образы. Оказывается, я не только забыла удалить остатки после обновления, но ещё и забыла сделать образ сервера. Тоесть образ есть, но перед обновлением (я делаю один до, один после, и, если всё хорошо, первый выношу). Зато у меня есть бэкап, который делается раз в несколько часов! Он содержит конфиги, некоторые файлы и полный дамп базы данных (думала, что придётся его восстанавливать, но вспомнила, что базы MySQL где-то в другом месте, заодно вспомнив, где это самое место находится). Каталог данных туда не входит, так как на двух машинах-клиентах зеркалится папка ownCloud с файлами. Другие файлы вроде PHP и всяких ресурсов туда тоже не входят. Проверяю версию, качаю с сайта, распаковываю и начинаю закидывать на сервер. Потом копирую конфиги из бэкапа. Тут приходит понимание, что папка с приложениями не архивируется, а там куча таких, которые в стандартную поставку не входят. Где их взять? Отправилась на DO, развернула образ (внимательно всё проверяла, чтобы чего и тут не запороть), зашла на новоиспечённый сервер, скопировала каталог с приложениями, удалила сервер. Версии не новые, но я понадеялась, что они нормально обновятся. Закинула всё недостающее. Вроде всё. Перед запуском решила почистить корзинки и версии (делается командой ooc). А оно как начало сыпать трассировками и криками, что каталог данных неправильный, файла какого-то не хватает! И тут я понимаю, что это файл-флаг, но там наверняка ещё какие-то файлы были. Снова восстанавливаю образ, перекидываю все файлы из корня каталога data. Немного смутил файл owncloud.db в формате SQLite, но он уже несколько лет не изменялся, да и базы у меня на MySQL. Потом смотрю, что там ещё есть, и выясняю, что совсем забыла, что у меня на сервере ещё пара пользователей (для мелочей), которые приняли удар на себя. Так как файлы там не менялись тоже давненько, перекинула их папки как есть. Основная папка была покоцана, но удар пришёлся на предпросмотры файлов, а идущую ранее по алфавиту files удаление вроде как не затронуло. В общем, всё перепроверила, решила сразу не удалять временный сервер, и попыталась почистить корзинки с версиями снова. В этот раз всё прошло успешно. Запустила Апач (MySQL стартовал сам по себе ранее), потом ещё перепроверяла всё, обновила приложения, которые «откатились» при восстановлении, и вроде бы всё с того момента работает. По результатам восстановления добавила в бэкап каталог с приложениями и файлы из корня data, подумываю вынести data в другое место, оставив симлинк (полный перенос выглядит как-то ненадёжно). Ну и в очередной раз пообещала себе быть внимательнее. И образ сделала, да.
Как страшно жить в понедельник.