拿到了一个新的电脑,配置比老的高一些,想要把nextcloud迁移到新的机器上面。没有完整的迁移日记,自己摸索了一上午,搞定。
1. 新服务安装依赖。
主要包括nginx,mysql,redis,php和php-fpm。
apt -y install php7.4 php7.4-common php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd    php7.4-mysql php7.4-sqlite3 php7.4-pgsql php7.4-opcache php7.4-mbstring php7.4-curl php7.4-xml php7.4-xmlrpc php7.4-zip php7.4-intl php7.4-json php7.4-bz2 nginx mariadb-server php-imagick php-redis redis-server php7.4-bcmath php7.4-gmp libmagickcore-6.q16-6-extra
2.迁移文件。
data目录建议单独迁移,太大了,其他的内容一起打包。
tar -cvpzf nextcloud.tar.gz –exclude=/opt/wwwroot/nextcloud/data ./
到新的服务器上面,解压:
tar -xzvpf ubuntu_backup.tar.gz -C 新机器上面的路径
3.迁移数据库。
导出:
mysqldump -uroot -p(密码) –all-databases > all.sql
导入:
mysql -uroot -p(密码)
mysql>source all.sql;
4.迁移其他配置文件。
NGIN的配置文件/etc/nginx/整个目录
fpm的配置文件/etc/php/7.4/fpm/php.ini,/etc/php/7.4/fpm/php-fpm.conf
mysql的配置文件/etc/mysql/conf.d/mysql.cnf
php的配置文件/etc/php/7.4/fpm/pool.d/www.conf
5.其他隐藏文件。
nextcloud目录下面的.htaccess和.user.ini
nextcloud的data目录下面的.ocdata
6.迁移Cloudflared。
去github上面下载可执行文件,拷贝到/usr/local/bin下面。
复制/etc/cloudflared和~/.cloudflared目录。
安装服务:cloudflared –config CONFIG-FILE service install
我遇到了找不到cert文件的问题,拷贝了一份到/etc/cloudflared下面。
7.恢复定时任务
crontab -u www-data -e
*/5 * * * * php -f /opt/wwwroot/nextcloud/cron.php
00 05 * * * cd /opt/wwwroot/freenom/ && php run > freenom_crontab.log 2>&1
0 * * * * cd /opt/wwwroot/nextcloud && php occ files:scan –all
40 1 * * * rsync -a –delete /opt/wwwroot/nextcloud/data/***/files/ /备份目录/nextcloud_bak
8. 离线下载需求
有离线下载需求还需要安装:
youtube下载:
apt -y install python3-pip
pip install –upgrade youtube_dl
curl下载:
apt-get install curl php-curl
aira2下载:
apt -y install aria2
mkdir -p /data/aria2/download
mkdir -p /etc/aria2
touch /etc/aria2/aria2.session
恢复/etc/aria2/aria2.conf
chown -R www-data:www-data /etc/aria2
chmod -R 755 /etc/aria2
chown -R www-data:www-data /data/aria2/download
chmod -R 755 /data/aria2/download
恢复/etc/systemd/system/aria2.service
9.防火墙开端口
ufw allow 443 
ufw allow 80
10. 其他网页
我的是都在/opt/wwwroot下面,直接tar过去就行,–exclude把nextcloud目录标注掉。
11. 调优,关闭图形界面
设置开机不启动X服务,也就是不启动图形界面:
sudo systemctl set-default multi-user.target
没有图形界面,并不表示就有命令的bash,设置登录bash:
sudo vim /etc/default/grub
#GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 改成
GRUB_CMDLINE_LINUX_DEFAULT=”text”
sudo update-grub
基本就这些了,其实一开始是想直接迁移ubuntu的,但是老电脑是用的efi,新电脑是用的legacy,所以有些问题,折腾了一会儿放弃了。