记一次驱动级浏览器主页被修改的解决过程
这段时间也不知道怎么的,打开IE自动跳到hao123.1668pg.com,打开360浏览器跳到hao360.1668pg.com,打开google跳到baidu.1668pg.com
用360主页锁定都没用。终于发现也有人和我一样的情况。要用更厉害些的一种办法删除这种东西。用360的系统急救箱扫了一遍。扫出来这么一个驱动服务“IQGoGVItrvtHoE.sys”的东西。
启动项目中也有类似在c:\windows\system32\drivers\这目录下的。一并清了
然后重启机器就解决问题了。
哎现在动不动这些恶意软件都绑这种驱动级的。太恶心了。
远程桌面无法复制粘贴传输文件解决办法(转)
远程服务器,复制粘贴文件到服务器的时候卡了一下,后来就无法复制粘贴了,今天查了一下资料终于找到原因了,特此给大家分享一下解决办法。
远程桌面无法复制粘贴传输文件解决办法
电脑、远程服务器
检查本机电脑
第一步:打开远程桌面连接。
点开电脑左下角的开始菜单,找到远程桌面连接,点开。如果你不常用远程桌面连接,那么这个图标就在附件里面,仔细找找就看到了。
远程桌面无法复制粘贴传输文件解决办法
第二步:点开远程桌面连接的对话框,在对话框的左下角找到“显示选项”点开它。
远程桌面无法复制粘贴传输文件解决办法
第三步:点开显示选项后,找到“本地资源”这一栏,点开它,找到粘贴板,勾选中。
远程桌面无法复制粘贴传输文件解决办法
检查服务器
第一步:打开远程的服务器,在服务器的任务栏随便一块空白处右击鼠标,选择“启动任务管理器”。
远程桌面无法复制粘贴传输文件解决办法
第二步:在打开的任务管理器中,我们找到“rdpclip.exe”这个进程,如果没有找到就算了。
远程桌面无法复制粘贴传输文件解决办法
第三步:找到这个进程后,选择”结束进程”,如果没有找到这个进程往下看。
远程桌面无法复制粘贴传输文件解决办法
第四步:第二步跟第三步结束掉的进程我们要恢复回来,我们在服务器的开始菜单找到运行的框,在运行框内输入”rdpclip“然后会显示这个进程出来,直接回车。
远程桌面无法复制粘贴传输文件解决办法
最后:做完服务器的这个操作后,然后再往服务器复制粘贴就成功了,小编已经解决了,你可以试试。
远程桌面无法复制粘贴传输文件解决办法
注意事项
服务器端没有找到rdpclip.exe这个进程的可以创建了结束再创建。
蜘蛛池是干什么的?对网站收录有好处吗?
在互联网上争取做好营销的,这款工具难免不得不懂。可以简单的来说蜘蛛池就是一种通过利用大型平台权重来获得百度收录以及排名的一种程序。蜘蛛池其中的一个功能就是可以帮助用户将大量的长尾关键字利用大型平台推送到百度进行收录与排名,通过百度蜘蛛池程序用户可以在短时间内将大量包含广告信息的页面推送到互联网中。并且这一切都是全自动化完成。
蜘蛛池其实就是一种特殊的外链,网站一般外链是我们自己做到某个网站的内页(发外链)或和谁交换的友情链接,虽然现在对百度权重等项目几乎没什么影响了,但链接的口多了就容易让百度等的蜘蛛顺着这些口爬进我们的网站,如果你的网站质量不错(编程规范、内容好、更新及时、数量足等等)百度就可能很喜欢,常来爬取你的网站。
蜘蛛池不一定是什么网站就能把你要做的关键词都能提升排名,最最关键的还是网站质量和用户体验,脱离了这个什么都是胡说。所谓蜘蛛池,指的是做大量泛站让搜索引擎收录,作为一个属于自己的外链资源。当有新的网站或新的页面时,把新URL放入到这些泛站资源页面上,可以马上获得蜘蛛的抓取和权重的一个传递。
说白了蜘蛛池起的就是一种辅助作用,想当于一个中间人,可以让你和姑娘(搜索引擎各种蜘蛛)多见几次,但能否XX还看你小子自己的本事。而它的原理就是有些服务器运营商把你的网站链接到整个服务器上的所有网站上去了,我们通常把这些服务器运营商手上的服务器称为他们自己养的蜘蛛,就这些服务器,据我所知有分权重蜘蛛和非权重蜘蛛的,还有分普通池和繁殖池的,好像算法上繁殖池好一些,因为这种好像可以让你的网站自己模拟蜘蛛爬行。
那么搜索引擎收录一个页面的机制是什么样的,有哪些考虑?
搜索引擎收录页面的规则可不是发现页面就可以收录,并不是解决了所谓的“孤岛”问题之后,页面就可以很快被收录了。所以,关键点并不是在于发现。
搜索引擎收录页面简单列列这些方面的因素至少有影响:
1.新站的时间短。我觉得这个影响是最大的。就是如果你是个新网站,你的内页收录上就是慢。即使你的内容已经开始在慢慢走向正规了,但是有些不同的类型的页面,收录依然是慢。这点,我觉得如果不是相当数量的高质量链接,是很难改变这个情况。
2.网站整体权重。如果是在新站周期内,你再加什么蜘蛛池也没用。可能反而有反面作用。网站整体权重会影响网站内页的收录速度。
3.搜索收录可能分页面类型。例如,我们互联网十八般武艺的常规文章页收录都比较及时。但是专题页的收录非常缓慢,我们做了几个专题,现在超过了1个月时间还没收录。所以,这里面搜索引擎可能已经细化了收录策略。对不同的页面类型采取不同的收录机制。
4.页面内容质量。页面内容的质量当然也会影响到页面的收录速度,这点也是肯定会有影响。
5.网站更新频率。我们在「优化抓取频率的重要性」这篇文章里面也说过。其实要提高搜索引擎蜘蛛的来访次数,唯一的方法还是要通过网站本身的内容更新。频繁更新有质量的内容,才能够提高蜘蛛的来访次数。如果本身内容更新不多,外部引流的蜘蛛过多,最终发现没什么内容索引,蜘蛛来访的次数也会下降。
我觉得从影响收录的影响来说,前面2点影响最大,也就是网站权重的影响。如果权重不高,又是新站的话,内容的收录肯定是不会那么顺利。
蜘蛛池本质上是希望解决一个什么问题呢,核心就是引蜘蛛的问题。引蜘蛛的目的是在于让蜘蛛发现网站里面这些新页面或者是还没被收录的页面。
Centos7系统安装配置GitLab服务器
1、首先
sudo yum update
更新当前库
2、执行以下命令
sudo yum install curl policycoreutils openssh-server openssh-clients -y
sudo systemctl enable sshd
sudo systemctl start sshd
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
sudo firewall-cmd –permanent –add-service=http
sudo systemctl reload firewalld
其中 sudo yum install postfix 可能会报错,部分环境可能已经配置好此步,报错直接跳过。
3、添加gitlb官方地址至源文件
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
提示如下:
The repository is setup! You can now install packages.
即可以开始安装
执行安装:
sudo yum install gitlab-ce -y
提示如下:
Installed:
gitlab-ce.x86_64 0:9.4.2-ce.0.el7
Complete!
即安装成功
4、执行配置脚本
sudo gitlab-ctl reconfigure
此步骤大概会执行3分钟左右,结果大概如下:
unning handlers:
Running handlers complete
Chef Client finished, 362/517 resources updated in 03 minutes 40 seconds
gitlab Reconfigured!
即可通过访问服务器地址访问,并进行初始化配置(默认为80端口,配置文件为:/etc/gitlab/gitlab.rb)
Centos同步网络时间方法(tcp和udp方式)
ntpdate只能用udp协议来同步时间,rdate支持用tcp协议或udp协议同步时间。
使用ntpdate更新时间
yum -y install ntpdate
/usr/sbin/ntpdate ntp1.aliyun.com
使用rdate更新时间
yum -y install rdate
查看时间rdate time-b.nist.gov
TCP方式更新(对时)服务器时间:rdate -s time-b.nist.gov或rdate -s time.nist.gov
UDP方式更新(对时)服务器时间:rdate -u time-b.nist.gov或rdate -u time.nist.gov
cacti图片中文显示方块的解决方案
sqlserver自动配置镜像脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | --环境:非域环境 DECLARE @DBName NVARCHAR(255) --库名 DECLARE @masterip NVARCHAR(255) --主库IP DECLARE @mirrorip NVARCHAR(255) --镜像库IP DECLARE @witness NVARCHAR(255) DECLARE @masteriptail NVARCHAR(255) DECLARE @mirroriptail NVARCHAR(255) DECLARE @witnesstail NVARCHAR(255) DECLARE @certpath NVARCHAR(MAX) --证书路径 DECLARE @Restorepath NVARCHAR(MAX) DECLARE @Restorepath1 NVARCHAR(MAX) DECLARE @Restorepath2 NVARCHAR(MAX) DECLARE @MKPASSWORD NVARCHAR(500) --证书密码 DECLARE @LOGINPWD NVARCHAR(500) --登录名密码 DECLARE @LISTENER_PORT NVARCHAR(500) --Endpoint密码 DECLARE @SQL NVARCHAR(MAX) DECLARE @MASTERHOST_NAME NVARCHAR(50) --主库登录名 DECLARE @SLAVEHOST_NAME NVARCHAR(50) --镜像库登录名 DECLARE @WITNESSHOST_NAME NVARCHAR(50) if OBJECT_ID ('tempdb..#temp')is not null BEGIN DROP TABLE #BackupFileList END CREATE TABLE #BackupFileList ( LogicalName NVARCHAR(100) , PhysicalName NVARCHAR(100) , BackupType CHAR(1) , FileGroupName NVARCHAR(50) , SIZE BIGINT , MaxSize BIGINT , FileID BIGINT , CreateLSN BIGINT , DropLSN BIGINT NULL , UniqueID UNIQUEIDENTIFIER , ReadOnlyLSN BIGINT NULL , ReadWriteLSN BIGINT NULL , BackupSizeInBytes BIGINT , SourceBlockSize INT , FileGroupID INT , LogGroupGUID UNIQUEIDENTIFIER NULL , DifferentialBaseLSN BIGINT NULL , DifferentialBaseGUID UNIQUEIDENTIFIER , IsReadOnly BIT , IsPresent BIT , TDEThumbprint NVARCHAR(100) ) SET NOCOUNT ON SET @masterip='192.168.56.131' SET @mirrorip='192.168.56.130' SET @witness='192.168.56.132' --目录后面不要带分隔符: \ SET @certpath='C:\temp\' SET @Restorepath='C:\temp\' SET @DBName='testmirror' SET @MKPASSWORD='master@2015key123' SET @LOGINPWD='User_Pass@2015key123' SET @LISTENER_PORT='5022' SET @MASTERHOST_NAME='A' SET @SLAVEHOST_NAME='B' SET @WITNESSHOST_NAME='C' select @masteriptail= PARSENAME(@masterip,2)+'_'+PARSENAME(@masterip,1) select @mirroriptail= PARSENAME(@mirrorip,2)+'_'+PARSENAME(@mirrorip,1) select @witnesstail= PARSENAME(@witness,2)+'_'+PARSENAME(@witness,1) -------------------------------------------------------------------------------- DECLARE @stat NVARCHAR(MAX) SET @stat='--自动生成镜像脚本V1 By huazai' PRINT @stat PRINT CHAR(13)+CHAR(13) SET @stat='--0、首先确定要做镜像的库的恢复模式为完整,用以下sql语句来查看'+CHAR(13) +'--主机'+CHAR(13) +'SELECT [name], [recovery_model_desc] FROM sys.[databases]'+CHAR(13)+CHAR(13)+CHAR(13) PRINT '--主:'+@masterip PRINT '--备:'+@mirrorip --PRINT '--见证:'+@witness PRINT CHAR(13)+CHAR(13) PRINT @stat -------------------------------------------------------------------- PRINT '-- =============================================' SET @stat='--1、 在主服务器和镜像服务器上和见证服务器上创建Master Key 、创建证书 '+CHAR(13) +'--主机'+CHAR(13) +'USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '''+@MKPASSWORD+''';' +'CREATE CERTIFICATE HOST_' +@masteriptail +'_cert WITH SUBJECT = ''HOST_' +@masteriptail +'_certificate'','+CHAR(13) +'START_DATE = ''09/20/2010'',EXPIRY_DATE = ''01/01/2099'';'+CHAR(13) PRINT @stat SET @stat='--备机'+CHAR(13) +'USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '''+@MKPASSWORD+''';' +'CREATE CERTIFICATE HOST_' +@mirroriptail +'_cert WITH SUBJECT = ''HOST_' +@mirroriptail +'_certificate'','+CHAR(13) +'START_DATE = ''09/20/2010'',EXPIRY_DATE = ''01/01/2099'';'+CHAR(13) PRINT @stat SET @stat='--见证'+CHAR(13) +'USE master; CREATE MASTER KEY ENCRYPTION BY PASSWORD = '''+@MKPASSWORD+''';' +'CREATE CERTIFICATE HOST_' +@witnesstail +'_cert WITH SUBJECT = ''HOST_' +@witnesstail +'_certificate'','+CHAR(13) +'START_DATE = ''09/20/2010'',EXPIRY_DATE = ''01/01/2099'';'+CHAR(13)+CHAR(13)+CHAR(13)+CHAR(13) PRINT @stat ----------------------------------------------------------- PRINT '-- =============================================' SET @stat='--2、创建镜像端点,同一个实例上只能存在一个镜像端点 '+CHAR(13) +'--主机'+CHAR(13) +'CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT='+@LISTENER_PORT+' , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_' +@masteriptail +'_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );'+CHAR(13) PRINT @stat SET @stat='--备机'+CHAR(13) +'CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT='+@LISTENER_PORT+' , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_' +@mirroriptail +'_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );'+CHAR(13) PRINT @stat SET @stat='--见证'+CHAR(13) +'CREATE ENDPOINT Endpoint_Mirroring STATE = STARTED AS TCP ( LISTENER_PORT='+@LISTENER_PORT+' , LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION = CERTIFICATE HOST_' +@witnesstail +'_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );'+CHAR(13)+CHAR(13)+CHAR(13) PRINT @stat ---------------------------------------------------------------------------------------- PRINT '-- =============================================' SET @stat='--3、备份证书,然后互换 '+CHAR(13) +'--主机'+CHAR(13) +'BACKUP CERTIFICATE HOST_' +@masteriptail +'_cert TO FILE = '+''''+@certpath+'\HOST_'+@masteriptail+'_cert.cer'';'+CHAR(13) PRINT @stat SET @stat='--备机'+CHAR(13) +'BACKUP CERTIFICATE HOST_' +@mirroriptail +'_cert TO FILE = '+''''+@certpath+'\HOST_'+@mirroriptail+'_cert.cer'';'+CHAR(13) PRINT @stat SET @stat='--见证'+CHAR(13) +'BACKUP CERTIFICATE HOST_' +@witnesstail +'_cert TO FILE = '+''''+@certpath+'\HOST_'+@witnesstail+'_cert.cer'';'+CHAR(13)+CHAR(13)+CHAR(13) PRINT @stat ---------------------------------------------------------------------------------- PRINT '-- =============================================' SET @stat='--4、新增主备登陆用户 '+CHAR(13) +'--主机'+CHAR(13) +'CREATE LOGIN ['+@SLAVEHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@SLAVEHOST_NAME+'User] FOR LOGIN ['+@SLAVEHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@mirroriptail +'_cert AUTHORIZATION ['+@SLAVEHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@mirroriptail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@SLAVEHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat SET @stat='CREATE LOGIN ['+@WITNESSHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@WITNESSHOST_NAME+'User] FOR LOGIN ['+@WITNESSHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@witnesstail+ +'_cert AUTHORIZATION ['+@WITNESSHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@witnesstail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@WITNESSHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat SET @stat='--备机'+CHAR(13) +'CREATE LOGIN ['+@MASTERHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@MASTERHOST_NAME+'User] FOR LOGIN ['+@MASTERHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@masteriptail +'_cert AUTHORIZATION ['+@MASTERHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@masteriptail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@MASTERHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat SET @stat='CREATE LOGIN ['+@WITNESSHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@WITNESSHOST_NAME+'User] FOR LOGIN ['+@WITNESSHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@witnesstail+ +'_cert AUTHORIZATION ['+@WITNESSHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@witnesstail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@WITNESSHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat SET @stat='--见证'+CHAR(13) +'CREATE LOGIN ['+@MASTERHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@MASTERHOST_NAME+'User] FOR LOGIN ['+@MASTERHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@masteriptail +'_cert AUTHORIZATION ['+@MASTERHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@masteriptail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@MASTERHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat SET @stat='CREATE LOGIN ['+@SLAVEHOST_NAME+'LoginUser] WITH PASSWORD = '''+@LOGINPWD+'''; CREATE USER ['+@SLAVEHOST_NAME+'User] FOR LOGIN ['+@SLAVEHOST_NAME+'LoginUser]; CREATE CERTIFICATE HOST_' +@mirroriptail +'_cert AUTHORIZATION ['+@SLAVEHOST_NAME+'User] FROM FILE ='''+@certpath+'\HOST_'+@mirroriptail+'_cert.cer'';'+CHAR(13) +'GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO ['+@SLAVEHOST_NAME+'LoginUser];'+CHAR(13) PRINT @stat ------------------------------------------------------------------------------ PRINT '-- =============================================' SET @stat='--5、各个机器都开放5022端口,并且用telnet测试5022端口是否开通 将下面三个脚本各自粘贴到bat文件里'+CHAR(13) PRINT @stat SET @stat='echo 主库'+CHAR(13) +'telnet '+@mirrorip+' 5022'+CHAR(13) +'telnet '+@witness+' 5022'+CHAR(13) +'pause' PRINT @stat+CHAR(13)+CHAR(13) SET @stat='echo 镜像库'+CHAR(13) +'telnet '+@masterip+' 5022'+CHAR(13) +'telnet '+@witness+' 5022'+CHAR(13) +'pause' PRINT @stat+CHAR(13)+CHAR(13) SET @stat='echo 见证'+CHAR(13) +'telnet '+@masterip+' 5022'+CHAR(13) +'telnet '+@mirrorip+' 5022'+CHAR(13) +'pause' PRINT @stat+CHAR(13)+CHAR(13)+CHAR(13) -------------------------------------------------------------- PRINT '-- =============================================' SET @stat='--6、备份数据库(完整备份+事务日志备份)在主机执行'+CHAR(13) PRINT @stat SET @stat='DECLARE @FileName NVARCHAR(MAX)'+CHAR(13)+CHAR(13) PRINT @stat SET @stat='--('+@DBName+'数据库完整备份)在主机执行'+CHAR(13) +'SET @FileName = ''D:\DBBackup\'+@DBName+'_FullBackup_1.bak'' BACKUP DATABASE ['+@DBName+'] TO DISK=@FileName WITH FORMAT ,COMPRESSION'+CHAR(13)+CHAR(13) PRINT @stat SET @stat='--('+@DBName+'数据库日志备份)在主机执行'+CHAR(13) +'SET @FileName = ''D:\DBBackup\'+@DBName+'_logBackup_2.bak'' BACKUP LOG ['+@DBName+'] TO DISK=@FileName WITH FORMAT ,COMPRESSION' PRINT @stat+CHAR(13)+CHAR(13)+CHAR(13) ------------------------------------------------------------------------------ PRINT '-- =============================================' SET @stat='--7、还原数据库(指定norecovery方式还原)在备机执行'+CHAR(13) PRINT @stat SET @Restorepath1='' SET @Restorepath2=@Restorepath+@DBName+'_FullBackup_1.bak' SET @SQL = 'RESTORE FILELISTONLY FROM DISK = '''+@Restorepath2+'''' INSERT INTO #BackupFileList EXEC (@SQL); DECLARE @LNAME NVARCHAR(2000) DECLARE @PNAME NVARCHAR(2000) DECLARE CurTBName CURSOR FOR SELECT LogicalName,PhysicalName FROM #BackupFileList OPEN CurTBName FETCH NEXT FROM CurTBName INTO @LNAME,@PNAME WHILE @@FETCH_STATUS = 0 BEGIN SET @Restorepath1=' MOVE N'''+@LNAME+''' TO N'''+@PNAME+''', '+CHAR(13)+@Restorepath1 FETCH NEXT FROM CurTBName INTO @LNAME,@PNAME END CLOSE CurTBName DEALLOCATE CurTBName SET @stat='USE [master] RESTORE DATABASE '+@DBName+' FROM DISK = N'''+@Restorepath+@DBName+'_FullBackup_1.bak'' WITH FILE = 1,'+CHAR(13) +@Restorepath1 +'NOUNLOAD,NORECOVERY, REPLACE, STATS = 5 GO' SET @stat='USE [master] RESTORE LOG '+@DBName+' FROM DISK = N'''+@Restorepath+@DBName+'_logBackup_2.bak'' WITH FILE = 1,'+CHAR(13) +'NOUNLOAD,NORECOVERY, REPLACE, STATS = 5 GO' PRINT @stat+CHAR(13)+CHAR(13) DROP TABLE #BackupFileList -------------------------------------------------------------------------------- PRINT '-- =============================================' SET @stat='--8、增加镜像伙伴,需要先在备机上执行,再执行主机,镜像弄好之后,默认为事务安全等级为FULL'+CHAR(13) PRINT @stat SET @stat='--备机上执行'+CHAR(13) +'USE [master] GO ALTER DATABASE ['+@DBName+'] SET PARTNER = '''+'TCP://'+@masterip+':5022''; --主机服务器的ip'+CHAR(13)+CHAR(13) PRINT @stat SET @stat='--主机上执行'+CHAR(13) +'USE [master] GO ALTER DATABASE ['+@DBName+'] SET PARTNER = '''+'TCP://'+@mirrorip+':5022''; --镜像服务器的ip'+CHAR(13)+CHAR(13) PRINT @stat SET @stat='ALTER DATABASE ['+@DBName+'] SET WITNESS = '''+'TCP://'+@witness+':5022''; --见证服务器的ip'+CHAR(13)+CHAR(13) PRINT @stat |
定时备份docker内的mysql数据库并传到远程ftp服务器附脚本
自从有了docker,也可以在此容器中使用mysql也很方便。不过备份数据库也是个麻烦事。不像原来那样备份。
以下的脚本功能是自动备份并传到远程ftp服务器,保留7天时间的文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/bash data_dir="/root/dbbackup" cd /root/dbbackup/ #localhost_mysql_1为docker所在的容器名,可以自行用docker ps进行查看自己mysql所在容器名 docker exec localhost_mysql_1 mysqldump -uroot -ppassword dbname > "$data_dir/dbname_`date +%Y%m%d`.sql" tar zcvf $data_dir/dbname_`date +%Y%m%d`.tar.gz $data_dir/dbname_`date +%Y%m%d`.sql #删除超过七天的备份文件 find $data_dir -mtime +7 -name 'dbname_[1-9].sql' -exec rm -rf {} \; find $data_dir -mtime +7 -name 'dbname_[1-9].tar.gz' -exec rm -rf {} \; #以下为自动登陆ftp并传文件 ftp -n -i 123.123.123.123 <<EOF user ftpname ftppassword binary lcd /www/wwwroot/ftp prompt mput dbname_`date +%Y%m%d`.tar.gz close bye ! EOF |
ubuntu /boot 满的解决方法
运行一段时间后我们经常会发现提示/boot满或是快满的问题,查了一下网上是提示这样清文件。希望对大家有一定帮助。
造成这一问题的主要原因是因为系统升级的时候会安装不同版本的 kernel,但是实际上使用的往往只有一个。因此,我们只需要把没有使用的 kernel 删除,就可以解决 /boot 空间占满的问题。
sudo apt autoremove –purge
具体操作
查看当前使用的 kernel
uname -r
>> Linux 4.10.0-42-generic
查看当前系统已经安装的 kernels
dpkg –list ‘linux-image*’ | grep ^ii
删除不需要的 kernel
#
sudo apt remove linux-image-
删除相关的包
sudo apt autoremove
最后更新以下 kernel 列表
sudo update-grup
接下来,我们在查看以下 /boot 的剩余容量
df -l
>>
文件系统 1K-块 已用 可用 已用% 挂载点
udev 3993976 0 3993976 0% /dev
tmpfs 803244 9748 793496 2% /run
/dev/sdc1 19553560 6811684 11725556 37% /
tmpfs 4016216 21364 3994852 1% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4016216 0 4016216 0% /sys/fs/cgroup
/dev/sdc6 182331 71528 97328 43% /boot
/dev/sdc7 87495992 10061048 72967284 13% /home
tmpfs 803244 80 803164 1% /run/user/1000
我们可以看到,我们的 /boot 的使用空间已经恢复正常,接下来我们可以正常使用 apt update 以及 apt upgrade 来升级我们的系统及软件了。