当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪lftp自动备份文件和数据库上传FTP服务器的shell脚本      代码如下:   代码示例: #!/bin/bash #定义数据库的名字和旧数据库的名字 DataBakName=Data_$(date +"%Y%m%d").tar.gz WebBakName=Web_$(date +%Y%m%d).tar.gz #删除本地3天前的数据 rm -rf /home/backup/Data_$(date -d -3day.........
    ▪linux which(查找文件)的用法参考(图文)      which 命令 功能说明:查找文件。 语  法:which [文件...] 补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。 参  数:  -n<文件名长度>  指定文件名长度,指.........
    ▪linux umask命令-预设文件权限掩码      功能说明:指定在建立文件时预设的权限掩码。 语  法:umask [-S][权限掩码] 补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩.........

[1]lftp自动备份文件和数据库上传FTP服务器的shell脚本
    来源: 互联网  发布时间: 2013-12-24

代码如下:
 

代码示例:
#!/bin/bash
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
#删除本地3天前的数据
rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz
#导出mysql数据库
/usr/local/mysql/bin/mysqldump -uroot -ppassword --databases db1 > /home/backup/databackup.sql
#压缩数据库
tar zcf /home/backup/$DataBakName /home/backup/databackup.sql
rm -rf /home/backup/databackup.sql
#压缩网站数据
tar zcvf /home/backup/$WebBakName /home/wwwroot
#使用lftp同步备份目录
lftp -u user,password -e "mirror -R --only-newer /home/backup /backup" ftp.yoursite.cn
exit
END
# edit by www.

添加执行权限:
 

代码示例:
chmod +x /root/AutoBackupToFtp.sh

crontab实现每天自动运行:
crontab -e
输入内容:
00 00 * * * /root/AutoBackupToFtp.sh
说明:
00 00为时间分/小时,可自行修改,例如:30 12 ***,则每天12.30运行此脚本。

说明:
以上代码,用到了lftp命令,及crontab自动化任务。

有关lftp命令的用法,请参考:
lftp自动备份文件和数据库上传FTP服务器的shell脚本
linux下lftp命令使用小结
lftp命令增量备份网站的方法分享
linux下lftp命令行上传或下载整个文件夹的方法
linux下lftp命令中mirror的用法详解
linux下lftp连接ftp服务器进行上传与下载的方法详解

有关crontab的用法,请参考:
linux中crontab定时执行任务命令的详解
linux中crontab定时自动执行计划任务的方法
crontab学习笔记
学习linux设置定时任务的crontab命令
crontab 命令格式与例子
linux定时任务设置crontab学习
不错的crontab教程 


    
[2]linux which(查找文件)的用法参考(图文)
    来源: 互联网  发布时间: 2013-12-24

which 命令

功能说明:查找文件。

语  法:which [文件...]

补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

参  数:
 -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
 -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
 -w  指定输出时栏位的宽度。
 -V  显示版本信息

来看几个例子。

1,查找httpd文件(apache服务器)的位置
 

2,查找mysql文件的位置


    
[3]linux umask命令-预设文件权限掩码
    来源: 互联网  发布时间: 2013-12-24

功能说明:指定在建立文件时预设的权限掩码。
语  法:umask [-S][权限掩码]

补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

参  数:
-S  以文字的方式来表示权限掩码。
当最初登录到系统中时, umask命令确定了你创建文件的缺省模式。这一命令实际上和

chmod命令正好相反。
系统管理员必须要设置一个合理的umask值,以确保创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。

在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该s h e l l或使用另外的umask命令之前一直有效。

一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希
望永久性地设置自己的umask值,那么就把它放在自己$ H O M E目录下的.profile或.bash_profile文件中。

如何计算umask值

umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是
6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说, umask中各个数字最大
可以到7。

该命令的一般形式为:
umask nnn

其中n n n为umask置0 0 0 - 7 7 7。

让我们来看一些例子。

计算出umask值:
可以有几种计算umask值的方法,通过设置umask值,可以为新创建的文件和目录设置缺省权限。表1 - 8列出了与权限位相对应的umask值。

在计算umask值时,可以针对各类用户分别在这张表中按照所需要的文件/目录创建缺省权限查找对应的umask值。

例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4和7 7 5。

还有另外一种计算umask值的方法。我们只要记住umask是从权限中“拿走”相应的位即可。

umask值与权限

umask 文件目录
 

0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0

例如,对于umask值0 0 2,相应的文件和目录缺省创建权限是什么呢?
第一步,我们首先写下具有全部权限的模式,即7 7 7 (所有用户都具有读、写和执行权限)。
第二步,在下面一行按照umask值写下相应的位,在本例中是0 0 2。
第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。
第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即可。

其中umask值为0 0 2:
1) 文件的最大权限rwx rwx rwx (777)
2) umask值为0 0 2 - - - - - - -w-
3) 目录权限rwx rwx r-x (775) 这就是目录创建缺省权限
4) 文件权限rw- rw- r-- (664) 这就是文件创建缺省权限

假设这次umask值为0 2 2:
1) 文件的最大权限rwx rwx rwx (777)
2 ) umask值为0 2 2 - - - -w- -w-
3) 目录权限rwx r-x r-x (755) 这就是目录创建缺省权限
4) 文件权限rw- r-- r-- (644) 这就是文件创建缺省权限

常用的umask值
表1-9列出了一些umask值及它们所对应的目录和文件权限。
表1-9 常用的umask值及对应的文件和目录权限
 

umask值目录文件
0 2 2 7 5 5 6 4 4
0 2 7 7 5 0 6 4 0
0 0 2 7 7 5 6 6 4
0 0 6 7 7 1 6 6 0
0 0 7 7 7 0 6 6 0
 

如果想知道当前的umask 值,可以使用umask命令:

如果想要改变umask值,只要使用umask命令设置一个新的值即可:
$ umask 002
确认一下系统是否已经接受了新的umask值:
在使用umask命令之前一定要弄清楚到底希望具有什么样的文件/目录创建缺省权限。否则可能会得到一些非常奇怪的结果;例如,如果将umask值设置为6 0 0,那么所创建的
文件/目录的缺省权限就是0 6 6!

除非你有特殊需要,否则没有必要去管他,系统默认的值“022”umask是用的掩码,至于掩码的概念,从基础学吧,这里不说了。 

linux中的文件/目录许可是用4位八进制数表示的。其中第一个八进制数用来表示特殊许可设置,第二个数字用来设置文件所有者的许可,第三个数字用来设置组许可,第四
个数字用来设置所有人的许可。 
 

---------------------- 
八进制  二进制  权限 
0    000  没有 
1    001  执行权 
2    010  写权 
3    011  写执行 
4    100  读权 
5    101  读执行 
6    110  读写 
7    111  读写执行 

要点:
一、文件基数为666,目录为777,即文件无设x位,目录可设x位。
二、chmod是设哪个位,哪么哪个位就有权限,而umask是设哪个位,则哪个位上就没权限。
只要记住umask是从权限中“拿走”相应的位即可。

umask值与权限的对照表:
 

umask 文件 目录
--------------------
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3